티스토리 뷰

Abstract class


  • Abstract 클래스를 이해하기 위해서는 인터페이스를 알아야한다.

  • 인터페이스란?  전체를 다 추상화 시켜놓고 전체를 다 구체화시키는 것.



이 것을 보고, 우리는 대략적으로 알 수 있다. 구체적으로는 알 수 없다. 즉, 추상화를 시켜 놓은 것이다. 그러면 여기에서 writeNewArticle 메소드를 보자.




위를 보면, 그 메소드를 구체적으로 구현해놓았다. 그러나 추상화 된 것끼리의 흐름이 없다. 이게 바로 인터페이스다. 그럼 이제 추상화를 보자.



  • 추상 클래스? 순서를 정해놓고 어떤 일을 할 건지를 구체화 시키는 것.

  • 낮은 추상화와 높은 추상화를 구분 짓는 기준은?

순서가 있는지 없는지 여부.
    순서가 없다면 인터페이스를 쓰고, 순서가 없다면 추상 클래스를 쓰는 것이다.

  • 어떤 기능을 모아모아서 흐름을 만들어 놓음. 마치 소화가 되는 과정처럼. 그 과정 하나하나를 만들어주는 것을 추상클래스라고 부른다. 추상클래스는 우리가 필요한 것만 추상화시켜놓는다.


아래 예를 보자. 일단 추상 클래스의 trace 메소드를 보면 흐름이 있다. 먼저는 콘솔에 로그를 찍고, 그 후에는 DB에 trace 로거를 찍는 것이다.


      


이 추상 클래스는 구체적으로 메소드를 구현해놓지 않았다(추상메소드). extends하여 다른 클래스에서 구현한다. 아래와 같이!



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함