728x90
반응형
SMALL
널오브젝트 패턴이란?
객체가 존재하지 않을 때, 널을 전달하는 것이 아닌 아무것도 전달하지 않는 객체를 전달하는 기법이다.
예시 코드
public void doSomething(SomeObject object){
if(object == null){
throw new Exception();
}
}
obj.process();
널 오브젝트의 장점과 단점
여러 곳에서 계속해서 널 체크를 한다면 코드가 증가하고 복잡성이 증가한다. 널 오브젝트 패턴은 널 값을 아무런 행위를 하지 않는 객체로 만들어 체크 코드의 중복을 제거하고 간소화시킬 수 있다. 또한 스택 자료구조를 만들때 용량이 0이라면 ZerocapacityStack을 만들수도 있다.
단점으로는 예외를 탐지하기 어려운 상황을 만들수 있다. 어떤 부분에서 널이 발생했는지 디버그를 해도 해당 코드의 흐름을 모른다면 추적이 어렵게된다.
class MyNullObject implements MyObject {
@Override
public void process() {
// 아무것도 실행시키지 않음
}
}
class MyRealObject implements MyObject {
@Override
public void process() {
System.out.println("무엇인가 수행합니다.")
}
}
public void doSomething(MyObject obj) {
obj.doMethod();
}728x90
반응형
SMALL
'면접 준비 > Java' 카테고리의 다른 글
| [Java- Thread] 스레드 풀 포화 정책 이란? (1) | 2025.05.22 |
|---|---|
| [CS 면접 지식 -Java] 동일성과 동등성, equals()와 ==의 차이 (2) | 2024.12.19 |