티스토리 뷰
Abstract class
Abstract 클래스를 이해하기 위해서는 인터페이스를 알아야한다.
인터페이스란? 전체를 다 추상화 시켜놓고 전체를 다 구체화시키는 것.
이 것을 보고, 우리는 대략적으로 알 수 있다. 구체적으로는 알 수 없다. 즉, 추상화를 시켜 놓은 것이다. 그러면 여기에서 writeNewArticle 메소드를 보자.
위를 보면, 그 메소드를 구체적으로 구현해놓았다. 그러나 추상화 된 것끼리의 흐름이 없다. 이게 바로 인터페이스다. 그럼 이제 추상화를 보자.
추상 클래스? 순서를 정해놓고 어떤 일을 할 건지를 구체화 시키는 것.
낮은 추상화와 높은 추상화를 구분 짓는 기준은?
→ 순서가 있는지 없는지 여부.
순서가 없다면 인터페이스를 쓰고, 순서가 없다면 추상 클래스를 쓰는 것이다.
어떤 기능을 모아모아서 흐름을 만들어 놓음. 마치 소화가 되는 과정처럼. 그 과정 하나하나를 만들어주는 것을 추상클래스라고 부른다. 추상클래스는 우리가 필요한 것만 추상화시켜놓는다.
아래 예를 보자. 일단 추상 클래스의 trace 메소드를 보면 흐름이 있다. 먼저는 콘솔에 로그를 찍고, 그 후에는 DB에 trace 로거를 찍는 것이다.
이 추상 클래스는 구체적으로 메소드를 구현해놓지 않았다(추상메소드). extends하여 다른 클래스에서 구현한다. 아래와 같이!
'프레임워크 > Spring' 카테고리의 다른 글
[Mongo DB] Oracle 과 연동하기 (0) | 2016.06.03 |
---|---|
[Mongo DB] 로거를 콘솔과 몽고DB에 동시에 찍기 (0) | 2016.06.03 |
[Mongo DB] Find (0) | 2016.05.31 |
[Secure Coding 실습] SQL Injection (0) | 2016.05.30 |
[Secure Coding 실습] Encoding (0) | 2016.05.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- query
- 자바프로그래밍
- 메소드
- 클래스
- facebook 연동
- aop
- 배열
- Linear Layout
- mybatis
- Erwin
- 쿼리
- MVC
- er다이어그램
- 제이쿼리
- activity
- 포스팅하기
- JSP
- 메뉴바에 버튼 생성하기
- mongo db
- sql
- spring
- 뒤로가기 버튼
- jQuery
- 예외처리
- 뉴스피드 가져오기
- 게시판 만들기
- intent
- Relative Layout
- 글쓰기 버튼
- ERD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함