[TIL] 상속: 재사용 + 확장

hyo_·2021년 1월 26일
0

JAVA 

목록 보기
16/20

※ 본 글은 아래 도서를 공부한 후 정리한 내용입니다.

📚 스프링 입문을 위한 자바 객체지향의 원리와 이해


상속이란??

📌 재사용 + 확장

객체 지향에서 상속은 부모 - 자식 관계가 아닌 상위 클래스의 특성을 하위 클래스에 상속(특성 상속)하고 거기에 더해 필요한 특성을 추가, 즉 확장해서 사용할 수 있는 것이다. 예를 들어 동물의 분류를 조금 더 세분화 해서 포유류와 조류가 나오고 포유류를 조금 더 분류해서 고래, 박쥐가 나오는 것과 같은 의미이다.

👉 부모 클래스 - 자식 클래스라는 표현 보단 상위 클래스 - 하위 클래스 or 슈퍼 클래스 - 서브 클래스라는 표현을 사용하자 ❕❗

상위 클래스로 갈수록 추상화(공통 속성을 뽑아낸다), 일반화 됐다고 말하며, 하위 클래스 쪽으로 갈수록 구체화, 특수화 됐다고 한다.

상속 관계 시 "하위 클래스는 상위 클래스 이다."를 만족 해야 한다.

  • 아버지는 할아버지다??
  • 아들은 아버지다??
  • 딸은 아버지다??

    ↪ 위의 세 문장은 부자연스럽다.

  • 포유류는 동물이다.
  • 고래는 포유류다.
  • 고래는 동물이다.

    ↪ 위의 세 문장은 자연스러운 것을 알 수 있다.

자바에서는 inheritance(상속)라는 키워드는 존재하지 않는다. 대신 extends(확장)를 사용한다.

상속은 is a kind of 관계

🖊 하위 클래스 is a kind of 상위 클래스

  • 펭귄 is a kind of 동물 ➡ 펭귄은 동물의 한 분류이다.
  • 고래 is a kind of 동물 ➡ 고래는 동물의 한 분류이다.
  • 조류 is a kind of 동물 ➡ 조류는 동물의 한 분류이다.


🌞 Check it!! 🌞

  • 객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것!

  • 객체 지향의 상속은 상위 클래스의 특성을 확장하는 것!

  • 객체 지향의 상속은 is a kind of 관계를 만족해야 함!

profile
🎓의지적인 삶을 살자!😊

0개의 댓글