Java - 집중화와 추상화
- 코드 집중화를 하면 유지보수에 이점이 많다.
-
추상화 : 서비스 집중화 ( 캡슐단위의 공통서비스) ->만들고자하는 객체가있을경우에 그런객체에대한 공통분모를 만들어서 추상화한다.
- 추상 클래스를 만드는 두가지 상황
- 개체들의 공통서비스 집중화 장정 : 1. 코드집중화 2. 일괄처리
- 향후 제품을 위한 프레임 워크
- 추상클래스 : 공통 분모
- 추상메서드 : 공통으로 제공되어야 할 서비스
Shape(부모클래스) 를 추상클래스로 만들었다.
하나 배열로 다담을수가 있다. 자식클래스들의 공통 분모를 공통 클래스에 두면 집중화 효과도 있다.
↓
공통된건 가져가고 아닌건 두자.
Shape[] shapes = new Shape[10];
shapes[0] = new Circle();
shpess[1] = new Rect();
...
public void paint() {
for(int...)
shape[i].paint();
}
코드를 짜면 이런식으로 될건데 shape[i].paint() 에서 오류가 난다. 왜 ? paint 는 코드명만 같고 구현이 다르기 때문이다.
위 그림과 같이 공통 서비스 함수 paint()만 올리자 뼈대만 올리는 공통 메서를 추상메서드라고 한다.
댓글남기기