JAVA 개념 정리

선언부/구현부(Declaration / Implementation)

Yangban2olsida 2023. 8. 24. 15:29

두 개 개념이 헷갈려서 개인적인 정리를 해본다..

 

1.     Declaration

선언부라고 한다.

이클립스의 Open Declaration을 클릭하다 보면,
추상화를 거친 method의 경우에, 추상화된 최심부까지만 참조가 가능하다.

 

2.     Implementation

구현부라고 한다.

이클립스의 Open Implementation을 클릭하면,

추상화하기 전 날 것의 쎙 method의 내용을 참조할 수 있다.

 

3.     최심부 Declaration/ Implementation 가 같을 때?

가끔 참조 methodDeclaration을 끝까지 추적한 부분과 Implementation을 추적했을 때 같은 곳을 가르키는 경우가 있다.

이건 추상화를 거쳤는지 유무에 따라 갈린다.

Declaration은 추상화된 부분까지만 가지만, Implementation은 추상화 하기 전의 부분까지 추적을 하기 때문이다. , 웹의 경우

                                                                                     

                               Service                    추상화                 ServiceImpl단                                           DAO단

                             Declartation                      ->                      Implementation                ->       Declartation/Implementation

 

이런 구조로 흘러가니, Service단에 추상화해놓은 method를 아무리 Declaration 추적해봤자 ServiceImpl단까지 가지 못한다. 그러므로 추상화한 부분이 있어, 추상화 method 내용을 보려면 Open Implentation을 클릭하여 추적하자.

 

** 분석을 해보니 ServiceImpl Service Implementation의 약자였다

 

정리하자면 둘 모두 비슷한 개념이지만, WEB에 한정해서는 Implementation이 더 깊은 개념이라고 할수 있겠다.