널 오브젝트 패턴(Null Object Pattern) 이란 객체가 존재하지 않을 때, 널을 전달하는 것이 아닌 아무 일도 하지 않는 객체를 전달하는 기법입니다. 예를 들어, 개발하다 보면 아래와 같이 널 체크 코드를 작성할 때가 많은데요.
public void doSomething(MyObject obj) {
if(obj == null) {
throw new Exception();
}
obj.doMethod();
}
이러한 유형의 코드가 여러 곳에서 계속 반복해서 등장하게 된다면 코드를 복잡하게 만들 수도 있습니다. 널 오브젝트 패턴은 널 값을 아무런 행위도 하지 않는 객체로 다뤄 널 체크 코드를 간소화합니다.
class MyNullObject implements MyObject {
@Override
public void doMethod() {
// 아무것도 하지 않음
}
}
class MyRealObject implements MyObject {
@Override
public void doMethod() {
System.out.println("무엇인가 수행합니다.")
}
}
public void doSomething(MyObject obj) {
obj.doMethod();
}
값이 널인 경우에만 사용되는 것이 아닌 특별한 케이스에서 모두 응용할 수 있습니다. 가령, 스택이라는 자료구조를 만들 때 용량이 0인 경우, ZeroCapacityStack을 만들 수 있습니다. 널 오브젝트 패턴은 반복적인 널 체크 코드를 간소화하고 협력을 재사용하는데 용이하다는 장점이 있지만, 오히려 예외를 탐지하기 어려운 상황을 만들 수 있습니다.
LIST
'Spring & Backend' 카테고리의 다른 글
| Spring Cloud vs Kubernetes: 왜 요즘은 Spring Cloud 대신 Kubernetes를 사용할까? (0) | 2026.03.10 |
|---|---|
| Spring Cloud란 무엇인가? 마이크로서비스(MSA) 시대에 Spring Cloud가 필요한 이유 (0) | 2026.03.10 |
| 객체 지향 프로그래밍이란 무엇이고, 어떤 특징이 있나요? (0) | 2026.03.06 |
| 백엔드 개발자가 가장 깔끔하게 쓰는 Git 전략 (0) | 2026.03.05 |
| Spring Boot 애플리케이션을 Kubernetes에서 운영할 때 생기는 문제 (0) | 2026.03.05 |
