💡 먼저 보면 좋을 자료
Code States | OOP 기초(1) - 클래스와 객체
Code States | OOP 기초(2) - 필드와 메서드
Code States | OOP 기초(3) - 생성자
Code States | 오버라이딩과 오버로딩
객체지향 프로그래밍의 4가지 핵심 요소로
상속
,캡슐화
,다형성
,추상화
가 있다.
자식 클래스(하위 클래스)가 부모 클래스(상위 클래스)의 기능을 그대로 물려받는 것
→ 기존 클래스 재사용(상위 클래스의 멤버 역시 포함)
코드 재사용으로 중복 제거
다형성 지원
자바는 다중 상속을 지원하지 않음(단일 상속만 허용)
extends
키워드 사용
class 하위클래스명 extends 상위클래스명 {
코드
}
클래스간 기능 공유가 필요할 때, 다른 클래스 타입의 참조변수를 선언하여 포함 괸계를 사용할 수 있음
public class Circle {
// 포함 관계
Point x;
}
상속받은 상위 클래스의 메서드를 재정의 하는 것
조건
메서드 이름, 매개변수, 반환타입이 일치해야 함
접근 제어자 범위: 하위 클래스 >= 상위 클래스
상위 클래스 메서드보다 더 많은 예외 선언 불가
super 키워드
: 상위 클래스의 객체
super()
: 상위 클래스 생성자
super()
생성자 안에서 선언 가능
가장 첫 줄에 선언 되어야함 (미선언 시 컴파일러가 삽입)
최상위에 위치한 상위클래스
자바의 모든 클래스는 해당 클래스를 상속
toString()
equals(Object obj)
hashCode()
wait()
notify()