1. 특성의 중복 - 첫 번째
여기서 말하는 특성이란 어떤 클래스가 가진 멤버(member) 즉 구성요소를 가리키는 또 다른 표현
Person.java
class Person {
String name;
int age;
void work() {
System.out.println(name + "가 걷습니다.");
}
}→ Person 클래스는 name, age, work()를 특성으로 가지고 있음
1. 특성의 중복
고래 클래스
Whale.java
class Whale {
int age; // 고래는 나이를 가지고 있음
}박쥐 클래스
Bat.java
class Bat {
int age; // 박쥐도 나이를 가지고 있음
}고래와 박쥐를 보니 나이(age)를 공통으로 가지고 있음
그 외 참새, 펭귄 등 다른 동물도 나이를 가지고 있을 경우, 나이(age) 필드에 대한 부분이 중복된다고 볼 수 있음
2. 포유류라는 클래스로 Whale, Bat을 한 단계 추상화
그러면 우리가 설계한 각각의 고래, 박쥐, 참새, 펭귄 클래스들을 포유류(Mammal)이라는 클래스로 또 한번 추상화할 수 있음
포유류(Mammal) 클래스
Mammal.java
class Mammal {
int age;
}포유류 뿐만아니라 조류(Bird)도 나이를 가지고 있을 수 있음
Bird.java
class Bird {
int age;
}여기서 한 번 더 추상화하면 모든 동물(Animal) 혹은 생명체는 나이(age)를 가지고 있음
동물(Animal) 클래스
Animal.java
class Animal {
int age; // 모든 동물은 나이를 가지고 있음
}이러한 클래스를 기반으로 아래과 같이 클래스에 대한 분류도를 작성해볼 수 있음

Last updated on