접근제한자
- 다른 class 에서 class 또는 class 멤버의 접근을 허용할지를 결정한다.
> public : 모든 class 에서 접근이 가능하다.
protected: 같은 package, 상속받은 하위 class 에서 접근이 가능하다.
default : 같은 package 내에서만 접근이 가능하다.
private : class 안에서만 접근이 가능하고, 외부에서는 접근할 수 없다.
class 내부 같은 package 하위 class 다른 package
public O O O O
protected O O O X
default O O X X
private O X X X
상속 ( inheritance)
- 기존 class 의 내용을 그대로 가져와서 새로운 class를 정의하는 것. (부모가 자식한테 물려주듯 class를 물려준다.)
- 상속을 하더라도 접근제한자는 유지 된다.
- 자식클래스 객체를 생성할 때, 자식클래스 생성자에서 super()를 사용하여 부모클래스의 생성자를 먼저 실행하고,
자식클래스의 생성자를 실행한다.!!!
부모클래스는 상위클래스라고도 하며, 자식클래스는 하위클래스,파생클래스라고 부른다.
상속을 하는 이유는??
이미 잘 개발된 클래스를 사용해서 새로운 클래스를 만드는 거라 코드의 중복을 줄여준다.
중복되는 코드의 클래스를 작성할 때 추가작성하는 것 보다 효율적이고 개발 시간을 줄여준다.
상속 방법 (extends 부모클래스명)
- class 자식클래스(하위클래스) extends 부모클래스 {
}
- 부모클래스가 먼저 실행된다. (시작 타입 내 타입이 아닌 부모타입이다.)
- 다중으로는 상속이 안되며 단 하나의 부모 클래스만 와야한다.
모든 객체는 생성자를 호출해야만 생성이 된다.
super();
- 부모의 기본생성자를 호출한다.
- 반드시 자식생성자의 첫줄에 위치한다.
super(매개값);
매개값의 타입과 일치하는 부모생성자를 호출한다!!
만약 매개값 타입이 일치하지 않으면 오류가 발생한다.
A class,B class,Test class 세개의 클래스를 만들어서 B클래스에 A클래스를 상속받아 Test(출력)해보는 연습을 통해 더욱 쉽게 내용이 정리가 되는 것 같았다.
'Java' 카테고리의 다른 글
Servlete 생성과 연결 (0) | 2023.03.25 |
---|---|
조건문 (if, else if, switch) 정리하기 (0) | 2023.01.08 |
break; continue; (0) | 2023.01.05 |
[Java] 이클립스 인코딩하는 방법 한글 깨짐 현상 (0) | 2022.12.21 |
[Java] 이클립스에서 프로젝트 import,export 내보내기 가져오기 (0) | 2022.12.21 |