자바/자바 기초
추상 클래스
qkwi
2021. 11. 10. 17:12
728x90
## 추상 클래스
- 미완성 설계도 (미완성 메서드를 포함하고 있다는 의미)
- 공통 부분만은 그린 미완성 설계도
- ex) Tv - > 여러 종류의 모델이 있지만 90% 동일한 설계도 사용 : 공통 부분만을 그린 미완성 설계도를 만들어놓고 각각의 설계도 작성
- 추상 메서드 : 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것
// 주석을 통해 어떤 기능을 수행할 목적으로 작성됐는지 적어놓기
abstract void play(int pos);
- 추상화 , 구체화
- 추상: 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용
- 추상화: 클래스 간의 공통점을 찾아내서 공통의 조상을 만드는 작업
- 구체화: 상속을 통해 클래스를 구현, 확장하는 작업
- 사용예시
abstract class Unit{
int x,y ;
abstract void move(int x int y ); // 선언부만 작성하기 몸통은 자손클래스가 작성
}
class Marine extends Unit{
void move(int x, int y) {} // 메소드 구현하기
}
class Tank extends Unit{
void move(int x, int y) {} // 메소드 구현하기
}
Unit [] group = new Unit[2];
group[0] = new Marine();
group[1] = new Tank();
for (int i = 0 : i< group.length; i++){
group[i].move(100,200);
}
```
---
728x90