[TIL][Java][2023-12-29] 상속

2023. 12. 29. 19:50TIL/Java

상속

 

  • 클래스의 특징을 다른 클래스가 물려받아 확장하여 사용하는 것.
  • 클래스의 속성과 기능을 새로운 클래스에서 재사용 할 수 있다.
  • 이를 통해 코드의 중복을 줄이고 재사용성과 유지보수성을 높일 수 있다.
  • 클래스간의 상속은 extends 키워드를 사용하여 정의한다.

 

 

 

 

클래스간의 관계

 

  • 상속관계: is - a ("~는 ~이다")
  • 포함관계: has -a ("~는 ~를 가지고 있다)

 

 

 

 

단일 상속과 다중 상속

 

Java는 다중 상속을 허용하지 않는다.

다중 상속을 허용하면 클래스간의 관계가 복잡해지는 문제가 생기기 때문이다.

만약 자식 클래스에서 상속받는 서로 다른 부모 클래스들이 같은 이름의 멤버를 가지고 있다면

자식 클래스에서 이 멤버를 구별할 수 있는 방법이 없다는 문제가 생긴다.

 

 

 

 

 

final 클래스와 final 메서드

 

  • 클래스에 final 키워드를 지정하여 선언하면 최종적인 클래스가 됨으로 더 이상 상속할 수 없는 클래스가 된다.
  • 메서드에 final 키워드를 지정하여 선언하면 최종적인 메서드가 됨으로 더 이상 오버라이딩 할 수 없는 메서드가 된다.

 

 

 

 

 

Object

 

  • Object 클래스는 최상위 부모 클래스이다.
  • 모든 클래스는 Object 메서드를 사용할 수 있다.
  • 부모클래스가 없는 자식클래스는 자동으로 Object 클래스를 상속받는다.