카테고리 없음
[Java] 자바의 객제치향 4가지 특징 2. 상속
believekim
2025. 2. 28. 21:44
자바 객체지향의 4가지 특징
1. 캡슐화(Encapsulation) - 데이터 보호, 접근 제한
2. 상속(Inheritance) - 기능 재사용, 확장
3. 추상화(Abstraction) - 핵심만 정의
4. 다형성(Polymorphism) - 하나의 인터페이스, 다양한 구현
1. 상속(Inheritance)이란?
- 클래스의 관계를 부모와 자식의 관계로 바라보는 개념.
- 필드와 메소드를 물려받아 재사용성과 확장이 가능.
- 상속을 통해 중복을 줄이고 유지보수성을 높일 수 있다.
2. 부모클래스 super(), 자식클래스 this()
- 자식에서 부모를 접근할 때 super() 사용
- 자식은 extends(확장)키워드와 부모클래스의 이름으로 상속받아 사용
class Child extends Parent {
Child() {
super(); // 부모 생성자 호출
System.out.println("자식 생성자 호출");
}
}
3. 매서드 오버라이딩(Overrideing)
- 부모클래스에서 물려받은 메소드를 자식클래스에서 수정하여 재사용하는 것. 덮어쓰기.
- 메서드 이름, 반환 타입, 매개변수 모두 동일
- 접근 제어자는 부모 클래스보다 더 넓거나 같은 범위(private는 오버라이딩의 대상이 아님)
- 부모 클래스의 메서드가 final이면 오버라이딩 불가능
class Parent {
void show() {
System.out.println("부모 클래스 메서드");
}
}
class Child extends Parent {
@Override // 오버라이딩 어노테이션 (생략 가능)
void show() {
System.out.println("자식 클래스 메서드");
}
}