객체를 반환하는 함수에서 null을 반환하는게 아닌 null과 의미가 유사한 널 오브젝트를 반환하는 기법이다.
실제 null object가 아닌
하는 일은 없는 객체
null 여부를 검사하지 않는 코드를 만들 수 있고, 코드를 짧게 가져갈 수 있다.
public interface IWeapon
{
void Equip(Character character);
}
public class Sword : IWeapon
{
public void Equip(Character character)
{
// do somting..
}
}
public class Hand : IWeapon
{
public void Equip(Character character)
{
// Hand는 null 객체로 Equip()을 실행해도 아무일도 하지 않는다.
}
}