상속을 사용하게 되면 이미 테스트를 완료한 코드를 전혀 수정하지 않고 손쉽게 재사용하고 확장 할 수 있다. 상속을 사용하지 않고 기존 애플리케이션을 재 사용 했다고 가정해 보자. 문제가 발생하지 않는지 확인하기 위해 애플리케이션 전체를 다시 테스트 해야만 한다. 하지만 상속을 사용한 경우라면 이야기가 달라진다. 서브클래스(subclass)를 정의했다 하더라도 수퍼클래스(superclass)의 소스는 전혀 수정하지 않았기 때문에 그 부분에 대한 테스트는 필요없다. 새롭게 추가된 부분만 테스트 하면 된다.
오버라이딩(Overriding)은 메소드의 인터페이스/시그너처를 변경하지 않고 내부적으로 동작하는 방식을 '재작성'하는
것이다. 오버라이딩으로 서브클래스에서 메소드를 재정의 하게되면 위에서 말한 이점을 더욱 살릴수 있다. 오버라이딩된 메소드만
테스트 하면 수퍼클래스의 신뢰된 메소드를 모두 사용할 수 있다. 그러나 오버로딩(Overloading)은 다르다. 시그너처가
다른 n개의 메소드가 독립적으로 존재함으로 각각의 경우마다 테스트가 필요하다.
'Work & Study > TechTalk' 카테고리의 다른 글
| Stream과 Serialization (0) | 2007/02/18 |
|---|---|
| OMG의 UML 인증시험 - OCUP (0) | 2007/02/18 |
| 상속을 사용했을때 테스트 관점에서 얻는 이점 (0) | 2007/02/18 |
| Windows 2003 Server에서 USB 외장하드 인식시키기 (1) | 2007/02/07 |
| How can Anthill help me support Offshore Development? (0) | 2007/02/07 |
| Visual Studio의 뉴버전 코드명 "Orcas" (0) | 2007/02/06 |
TAG test


