1. 상속의 정의와 장점
1.1 상속이란?
- 두 클래스를 조상과 자손으로 관계를 맺어주는 것이다.
- 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화블럭 제외)
- 조상의 변경은 자손에 영향을 미치지만, 자손의 변경은 조상에 아무런 영향을 미치지 않는다.
- 자바는 단일 상속만을 허용한다.
class child extends Parent{}
/* 허용하지 않음 */
class TVCR extends TV, VCR{
}
2. Object 클래스
- 모든 클래스의 최고 조상이다.
- 조상이 없는 클래스도 자동적으로 Object 클래스를 상속받게된다.
- 모든 클래스는 Object 클래스에 정의된 11개의 메서드를 상속받는다.
toString(), equals(Object obj), hashCode()
2.1 오버라이딩이란?
조상클래스로부터 상속받은 메서드의 내용을 상속받는 클래스에 맞게 변경하는 것
조건)
선언부가 같아야한다. (이름, 매개변수, 리턴타입)
접근제어자를 좁은 범위로 변경할 수 없다.
조상클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
2.2 오버로딩 vs 오버라이딩
class Parent {
void parentMethod() {}
}
Class Child extends Parent {
void parentMethod() {} //오버라이딩
void parentMethod(int i) {} //오버로딩
void childMethod() {}
void childMethod(int i){} // 오버로딩
}
오버로딩은 기존에 없는 새로운 메서드를 정의하는 것이고, 오버라이딩은 상속받은 내용을 변경하는 것이다.
'Backend Study > Java' 카테고리의 다른 글
[JAVA] 컬렉션 프레임워크 (0) | 2023.01.26 |
---|---|
[JAVA] 제어자, 다형성, 인터페이스, 내부 클래스와 익명 클래스 (0) | 2023.01.26 |
[JAVA] 생성자 (0) | 2023.01.26 |
[JAVA] 배열, 변수와 메서드 (0) | 2023.01.26 |
[JAVA] 변수의 타입 (0) | 2023.01.26 |