2024/04/10 3

java.lang.NullPointerException

java.lang.NullPointerException: Cannot invoke "hello.core.discount.DiscountPolicy.discount(hello.core.member.Member, int)" because "this.discountPolicy" is null private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); 원래 이 코드를 DIP원칙에 맞는 코드를 작성하기위해 discountPolicy의 구현 클래스를 아래처럼 삭제하여 아무것도 할당되지 않아 발생 private DiscountPolicy discountPolicy; 쉽게 말해 null값에 .을 찍어서 발생 ..

에러 모음 2024.04.10

SOLID 란?

SOLID는 좋은 객체 지향 설계의 5가지 원칙을 말한다 • SRP: 단일 책임 원칙(single responsibility principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP: 리스코프 치환 원칙 (Liskov substitution principle) • ISP: 인터페이스 분리 원칙 (Interface segregation principle) • DIP: 의존관계 역전 원칙 (Dependency inversion principle) 이렇게 5가지이며 이 5가지를 하나씩 알아보자 1. SRP 단일 책임 원칙 한 클래스는 하나의 책임만을 가져야 한다 쉽게말해 변경을 했을때 파급이 적게하는게 단일 책임 원칙을 다른것 극단적인 예로 UI하나의 변경을 하는데..

공부/SPRING 2024.04.10