Skip to Content
Suffering builds character
아카이브10.Java특징상속1. 특성의 중복 - 첫 번째

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; // 모든 동물은 나이를 가지고 있음 }

이러한 클래스를 기반으로 아래과 같이 클래스에 대한 분류도를 작성해볼 수 있음

inheritance2

Last updated on