![[J03] Java_상속](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbB52iE%2FbtrcojUtYIx%2FGQK50JKm219jjTv5r7VF00%2Fimg.png)
[J03] Java_상속Java/Java 기본 개념2021. 9. 3. 10:13
목차
//ch05_상속
📌 접근 지정자 4개
슈퍼 클래스 멤버에 접근하는 클래스 종류
private | default | protected | public | |
같은 패키지에 있는 클래스 | X | O | O | O |
다른 패키지에 있는 클래스 | X | X | X | O |
같은 패키지에 있는 서브 클래스 | X | O | O | O |
다른 패키지에 있는 서브 클래스 | X | X | O | O |
📌상속 선언 : class SubClass extends SuperClass{}
📌 자바에서는 클래스의 다중 상속을 지원하지 않는다.
📌서브 클래스 객체가 생성되면 슈퍼 클래스의 생성자가 먼저 실행된 후 서브 클래스의 생성자가 실행된다.
📌서브 클래스 객체가 생성되었는데 슈퍼 클래스에 기본 생성자가 없을 경우 오류가 발생한다.
📌 캐스팅 : 타입 변환
📌 업캐스팅 : 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것
📌 업캐스팅한 레퍼런스로는 객체 내에 모든 멤버에 접근할 수 없고 슈퍼 클래스의 멤버만 접근할 수 있다.
📌서브클래스 객체가 슈퍼클래스 타입으로 업캐스팅되면, 슈퍼클래스 타입의 객체로 취급되며
📌 다운캐스팅 : 슈퍼 클래스 타입의 레퍼런스를 서브 클래스 타입의 레퍼런스로 변환하는 것
📌 메소드 오버라이딩 : 슈퍼 클래스에 선언된 메소드와 같은 이름, 같은 리턴 타입, 같은 매개 변수 리스트를 갖는 메소드를 서브 클래스에서 재작성하는 것
📌 static 이나 private 또는 final 로 선언된 메소드는 서브 클래스에서 오버라이딩할 수 없다.
728x90
반응형
'Java > Java 기본 개념' 카테고리의 다른 글
[J06] Java_자바 GUI 기초, AWT와 스윙 (1) (0) | 2021.09.18 |
---|---|
[J05] Java_입출력 스트림과 파일 입출력 (0) | 2021.09.16 |
[J04] Java_모듈과 패키지 (0) | 2021.09.10 |
[J02] Java_클래스와 객체 (0) | 2021.08.27 |
[J01] Java_시작 (0) | 2021.08.20 |
@kdj :: Childev'note
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!