상속에는 단일상속과 다중상속이 있습니다.
- 단일상속은 한 자손이 한 객체만 상속을 받는 것입니다.
- 다중상속은 한 자손이 여러 객체의 상속을 받을 수 있습니다. (C++에서는 가능합니다.)
다중상속을 대신 할 수 있는 방법은 한 객체를 상속받고 다른 객체는 포함관계를 가지면 다중상속과 같은 효과를 볼 수 있습니다.
자바에는 Object 클래스라는 부모클래스가 있습니다. Object 클래스는 한 클래스가 아무것도 상속받지 않을 때 컴파일과정에서 상속되는 부모클래스입니다.
만일 TV객체가 있고, SmartTV객체가 TV를 상속받고있다라면 상속은 다음과 같이 일어난다고 할 수 있습니다.
- Object >> TV >> SmartTV
오버라이딩
오버라이딩이란 부모객체의 메서드를 자식객체가 자신의 필요에 맞게 기능을 변경하는 것을 뜻합니다. 오버라이딩의 조건에는 3가지가 있습니다.
- 선언부(메서드 이름)가 부모와 일치해야합니다.
- 접근 제어자(public, protected, private, defalut)가 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
- 예외(throws)는 조상클래스의 메서드보다 많이 선언할 수 없다.
이때 오버라이딩과 오버로딩에 차이는 다음과 같습니다. (이름만 비슷하고 관계는 없다.)
- 오버로딩 : 기존에 없는 새로운 메서드를 정의하는 것
- 오버라이딩 : 상속받은 메서드의 내용을 변경하는 것
참조변수 super
super는 this와 비슷하게 이용할 수 있습니다. 단, super는 조상의 변수를 참조할 때 이용됩니다.
'TIL' 카테고리의 다른 글
TIL) 자바의 예외처리와 제네릭, 정규표현식 (0) | 2024.10.10 |
---|---|
TIL) 자바의 컬랙션 (0) | 2024.10.08 |
TIL) 자바 클래스의 구성 (1) | 2024.10.04 |
TIL) git hub commit / push에러와 JQuery를 이용한 자바스크립트 (2) | 2024.10.02 |
TIL) html의 기초와 git의 사용 (0) | 2024.09.30 |