Java 실습
[220531] 상속(inheritance), super, super()
ss__0
2022. 5. 31. 14:43
목표 달성
수업 복습
■ 복습문제 해설
- static은 this 사용불가
- class 분리하기 위해서 다른 곳에서도 사용할 수 있도록 public을 class 앞에 붙이기
■ 상속
- 상속의 의미 : 기존 클래스에 기능을 "추가"하거나 "재정의"하여 새로운 클래스를 정의 하는 것
- 상속 이용시 기존에 정의되어 있는 클래스의 모든 필드와 메소들를 물려받아 새로운 클래스를 생성할 수 있음
- 부모 클래스(parent class) = 상위 클래스(super class) = 기초 클래스(base class)
- 자식클래스(child class) = 하위 클래스(sub class)
1. 개요
- 클래스의 재사용, 기존 클래스를 물려받아 새로운 부분만 [추가]하거나 [수정]하려고 만든 개념
[부모클래스(parent class) - 상위 클래스(super class)]
[자식클래스(child class ) - 하위 클래스(sub class)]
- 상위 클래스(super class)를 재사용하여 새로운 클래스를 잣겅하는 것
- 모든 클래스는 object 클래스를 상속받음
- 자바 클래스의 상속은 단일 상속
- 다중 상속을 지원하지 않음 => 인터페이스를 이용해서 사용가능
2. 상속의 형식
class 자식 클래스 extends 부모클래스
class Note9 extends Note8
class Note10 extends A,B{} => (X)
3. 오버라이드
- 매서드 재정의(@Override)
- 조건 1) 상속 extends
- 조건 2) 부모의 메서드와 동일 ★ ex) public void show(){}
- 접근제한을 더 강하게 할 시 오버라이딩 불가
public을 default, private으로 수정불가
default는 public으로 수정가능
public > protected > default(package) > private
- 부모메소드 사용(super)
자식 클래스에서 재정의되 메서드만 호출가능
super 사용해서 부모객체 참조가능
트러블 슈팅
- AA
- aaa
- bbb
- ccc