728x90
내가 보고 이해하기 위해 글을 쓰면
추상클래스(abstract class)를 사용하면 interface를 사용하였을 때와 다른 점은 interface는
method의 몸체를 가질 수 없지만 abstract class는 몸체를 가진 method를 가질 수 있다는 것이다.
이는 template method pattern을 사용할 때 그 차이가 쉽게 나타난다.
예를 들면,
abstract class 내부에 어떠한 연산을 하는(Subclass에서 overrding하여) abstract method와
display라는 이름을 가진(abstract가 아닌 public final로 선언된) method를 기술해주고,
상위 클래스(abstract class) display method 내부에서 차후 subclass에서 연산기능이
기술될 abstract method를 호출하는 구조를 가지도록 틀을 만들 수 있다.
이는 상위 클래스에서 처리의 골격을 기술해주고 구체적인 내용을 하위클래스에서 수행하는
template method pattern의 이점이다.
하지만 interface를 사용하면 method는 body를 가질 수 없으므로 이러한 골격을 구성하는것이
불가능하다
728x90
'JAVA' 카테고리의 다른 글
JVM GARBAGE COLLECTION (0) | 2014.11.28 |
---|---|
JAVA GARBAGE COLLECTION (0) | 2014.11.28 |
OOP 4가지 특성 (0) | 2014.11.12 |
OOD(객체지향설계) (0) | 2014.11.12 |
cannot execute binary file (0) | 2013.08.26 |