-
NULL 객체 패턴 정리읽은 책 2016. 5. 10. 21:55
NULL 객체 패턴
우리는 종종 아래와 같은 null 검사 코드를 사용할때가 있습니다.
null 검사 코드를 사용할 때의 단점 : 개발자가 null 검사 코드를 빼먹기 쉽다는 점.(따라서 NPE(NullPointException)이 발생하기 쉽다.)
Null 객체 패턴 구현
- null 대신 사용될 클래스를 구현한다. 이 클래스는 상위 타입을 상속받으며, 아무 기능도 수행하지 않는다.
- null을 리턴하는 대신, null을 대체할 클래스의 객체를 리턴한다.
Null 객체 패턴 장점
- Null 검사 코드가 최소화 되므로 코드가 간단해진다.
- 수많은 Null 검사 로직없이도 대신할 객체를 리턴하므로 Null 검사 코드 누락에 따른 문제 제거
Null 객체 패턴의 단점
- 시스템에 널 검사 로직이 별로 필요하지 않은 상황에서는 설계만 복잡하게 된다.
- 프로그래머가 널 객체의 존재를 모르고 있다면, 동일한 널 검사를 쓸데없이 여러번 할게 될수도 있다.
- 유지보수가 복잡해진다. 널 객체의 수퍼클래스에 새 public 메소드를 추가할 때마다 널 객체 클래스에서 이를 오버라이드 해야 한다.
< 예시 >
변경 전 코드
변경 후 코드
- null 체크 하는 부분이 제거됨.
- null 객체를 만들어서 factory에서 null 객체 반환하도록 함.
<참고 URL>
http://dsmoon.tistory.com/entry/NULL-OBJECT-%ED%8C%A8%ED%84%B4
개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴
'읽은 책' 카테고리의 다른 글
토비의 스프링 - 1장 오브젝트와 의존관계 (0) 2014.07.12 헤아려 본 슬픔 - c.s. 루이스 _강유나 옮김 (0) 2013.11.06 꽃으로도 때리지 말라 - 김혜자 (0) 2011.08.20 오체불만족 - 오토다케 히로타다 (0) 2011.08.17