Search Results for 'Null Object'

1 POSTS

  1. 2006.08.30 Null Object

Null Object

Posted 2006.08.30 21:44
자바로 알고리즘을 작성하다보면 정말 귀찮은 일 중에 하나가 널 검사(null check)이다. 일반적으로 간단한 연결 리스트(linked list)를 traverse하는 프로그램을 짠다고 해도 매번 널인지 검사하는 코드가 들어가야 한다.

Null Object는 널 검사를 줄이는 패턴이다.  예를 들어 x를 연결 리스트에서 찾는 알고리즘이라면 nullObject의 값을 x로 설정하고, 다음과 같이 루프를 돌면 특별히 널을 따로 검사할 필요가 없다.

head -> Node -> Node -> Node -> NullObject (Node)


Node n = head
nullObject.value = x

while (true) {
    if (n.value == x) return n != nullObject
    n = n.next
}

널 검사 오버헤드만 없애도 20-30%의 속도 향상이 있다고 하는데, 다른 곳에서도 응용할 수 있을 것이다.
신고

티스토리 툴바