[TIL] 코드 집중화와 추상화
1) 코드 집중화와 추상화
1-1) 코드 집중화를 하는 이유
- 코드를 집중화하면 유지보수를 할 때 이점이 많다.
1-2) 코드 집중화하기
- 공통된 기능을 뽑아 하나의 캡슐 단위로 묶는다.
1-3) 코드 집중화의 장점
- 코드를 집중화 해 일괄처리를 용이하게 할 수 있다.
- 코드 집중화를 하면 생산성 향상으로 대량 생산이 가능하다.
1-4) 추상클래스는 공통분모이다.
-
Exam 클래스를 통해 다른 여러가지 Exam1,Exam2...등을 파생시킬 수 있다.
-
뼈대'로만' 써야 하지만 그렇다고 해서 뼈대 그 자체를 이용할 수 없다는 것은 아니다.
(뼈대만을 이용할 수 있어도 추상클래스이다.)
1-5) abstract의 의미
public abstract class Exam {
}
-
abstract는 추상클래스를 부모(기반)클래스로만 쓰게 한다.
-
자식 객체를 만들때 부모도 그제서야 비로소 객체가 된다.
-
abstract를 써주면 뼈대로만 독단적으로 쓸 수 없다.
-
paint 메소드를 추상클래스에 올리지 않은 이유는 각 paint가 구현하는 것이 다르기 때문이다.
- 호출할 때에는 특화된 자료형으로 호출할 수 밖에 없다.
shapes[i].paint();
→ shape에 paint가 없으므로 오류가 난다.
-
avg는 올려도 의미가 없다.
-
avg는 Exam에 이름은 올려놓고 구현은 하지 않는다.
public class Exam {
public abstract double avg();
}
- abstract의 의미는 avg가 공통분모로 꼭 필요한 기능이지만 구현은 하지 않았고 자식 객체들에서 구현해야 한다는 것을 나타내준다.
Author And Source
이 문제에 관하여([TIL] 코드 집중화와 추상화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@psh94/TIL-코드-집중화와-추상화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)