본문 바로가기

AdvancedJava

[2일차] Virtual Method

자바공부하는 방법

오라클에서 자바 랭귀지 스펙 원서를 읽자 



Virtual Method


class 내부에서 함수의 정의만 있고, 구현은 없는 함수.

왜쓸까? 

 - 구체적인 정보들을 추상화 할 필요가 있어서, 어떤 데이터가 넘어올지 모르고, 그에 따른 로직은 공통되기 때문에.
일단 로직 구현부분에서 결정이 안된 데이터 부분을 추상적인 부분으로 남기고, 나중에 결정할 수있도록 하기 위해서 



 - 예로 서버로부터 데이터를 받을 때, 데이터의 파싱과정에서 데이터의 구조가 어떻게 되어있는지 모른다. 

때문에 일단 추상적인 부분으로 남기고, 차후 결정할때 구현을 강제하도록 한다. 


오버라이드 해서 사용할 경우, 구현을 안할수도 있기 때문에 반드시 abstract 메소드를 만들어서 구현을 강제시킨다. 


쉽게말하면 코드의 중복이 사라지고 확장성 유지하고, 안정성이 확보된다.

결국 구체적인 형상이 없어도 추상적인 붑분으로 구현할 수있다. 차후 결정시에 그 클래스를 상속받아 구현한다. 


이런 형식의 디자인패턴을 템플릿 패턴이라 한다. 





'AdvancedJava' 카테고리의 다른 글

[2일차] Inner class,Anonymous Class,instance of ,'==' Operation ,wrapper class  (0) 2016.07.06
[2일차]is-a,has-a 호출  (0) 2016.07.06
복구한 인터페이스 내용  (0) 2016.07.06
final keyword  (0) 2016.07.05
static Keyword  (0) 2016.07.05