□ 상속
○ 기존에 만들어진 클래스의 기능을 상속받아서 새로운 클래스를 쉽게 만들 수 있는 것
○ 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 속성과 기능도 이용할 수있음
○ 부모클래스로부터 속성과 기능을 상속받아 생성된 자식클래스를 활용하여 생성된 객체는 부모/자식클래스의 속성과 기능을 활용할 수 있음
○ 상속의 필요성 : 기존의 검증된 Class를 이용해서 빠르고 쉽게 새로운 Class를 만들 수 있음
ex) 할아버지 G음식점 개업 - 아버지 G음식점 인수 및 메뉴 개발 - 아들 G음식점 인수 및 기존 메뉴개선&신메뉴 개발
○ exten 키워드를 이용해서 상속 구현
○ Java는 단일상속만 가능함
□ 부모클래스의 private 접근자
○ 자식클래스는 부모클래스의 모든 자원을 사용할 수 있지만, 부모클래스의 private 접근자의 속성과 메서드는 자식클래스에 상속할 수 없음
예제1) 부모클래스 생성 및 메서드 지정
package person_test;
public class Parent_Class {
//부모 클래스 생성자
public Parent_Class() {
System.out.println("부모클래스 생성자");
}
//부모 클래스 메서드
public void parentFun() {
System.out.println("하하하하");
}
//Private 메서드
//자식클래스는 부모클래스의 모든 자원을 사용할 수 있지만, private 접근자의 속성과 메서드는 사용할 수 없음
private void privateFun() {
System.out.println("소곤소곤");
}
}
예제1-1) 자식클래스 생성 및 메서드 지정
package person_test;
//자식 클래스 + 부모클래스로부터 상속
// public class 자식클래스 extends 부모클래스{}
public class Child_Class extends Parent_Class{
//자식클래스 생성자
public Child_Class() {
System.out.println("자식클래스 생성자, 부모클래스로부터 상속받음");
}
public void childFun() {
System.out.println("호호홓호");
}
}
예제1-1-1) 자식클래스를 활용하여 객체 생성 및 부모클래스의 메서드 활용가능
package person_test;
public class Parent_Child_Main {
public static void main(String[] args) {
//객체 생성 : 자식클래스를 활용
Child_Class New_Pc = new Child_Class();
//자식클래스를 활용하여 객체를 생성하였어도
//부모클래스에서 지정한 메서드 활용가능
//자식클래스에서 지정한 메서드 또한 활용가능
New_Pc.parentFun();
New_Pc.childFun();
}
}
//메인 클래스 실행시 부모클래스 생성자부터 출력되는 것을 보아 자식클래스가 부모클래스의 속성/기능을 상속받았다는 것을 알 수 있음
'Java > Java_basic' 카테고리의 다른 글
Step17. 내부클래스와 익명클래스 (0) | 2023.09.25 |
---|---|
Step16. 오버라이드(Override)와 Super 클래스 (2) | 2023.09.25 |
Step14. 데이터은닉과 Getter/Setter (0) | 2023.09.24 |
Step13. 패키지와 Static (0) | 2023.09.24 |
Step12. 생성자와 전역/지역/매개변수, this (2) | 2023.09.24 |