I. Import
# Import 개념
import 상위패키지명.하위패키지명.클래스명 ;
import 상위패키지명.하위패키지명.*;
# 단축키
ctrl + shift + O
II. 접근제한자
# 접근제한자의 종류
1. public -> 모든 클래스에서 접근이 가능함
2. protected -> 상속관계일 때 접근이 가능함.
3. default -> 같은 패키지안에 속한 클래스에 접근이 가능함/ 접근제한자를 명시하지 않은경우에 적용된다.
4. private -> 해당 클래스에서만 접근이 가능함.
# 제한의 정도
private < default < protected < public
III. 상속
# 개념
- 부모클래스가 가진 멤버변수를 서브클래스에서 물려받아 별도의 선언없이 사용할 수 있도록한다.
- Is - a 관계가 성립한다. : 자식은 부모의 모든 멤버를 가진다 == Child is a Parent
- 아무것도 상속받지 않은 클래스는 자동으로 Object 클래스를 상속받는다.
-> 따라서, 모든 클래스에서는 Object 클래스의 멤버에 접근이 가능하다.
# 주의사항
- private 접근제한자가 선언된경우에는 상속이 적용되지않는다!
( private 접근제한자에는 본인클래스에서만 접근이 가능하기때문이다.)
- 상속관계에 있는 멤버는 인스턴스 생성없이 직접 접근해야한다.
=> 만약 인스턴스를 생성하여 접근하면 has-a 관계로 바뀐다.
# 객체지향적 관점에서 [is-a 관계]와 [has-a 관계]의 차이점
is-a 관계 | has-a 관계 |
상속관계 ( 밀접한 결합 ) | 포함관계 ( 느슨한 결합 ) -> 클래스내부에서 별도의 독립적인 클래스의 인스턴스를 생성하여 관리하는것. |
상위클래스의 기능을 하위클래스가 물려받아 사용함 | 코드의 변경이 발생하더라도 구성요소를 비교적쉽게 수정할 수 있다. |
부모클래스의 변경이 발생하면 코드가 손상될 위험이 크다 | 유연성이 크므로 코드의 손상이 적거나 없다. |
IV. 생성자
- 클래스 이름과 같은 이름을 가진 메서드를 의미한다.
- 생성자는 상속되지 않는다
=> 생성자는 자신의 클래스명과 같은 이름을 사용하기 때문에 부모의 생성자를 상속받으면 자식의 클래스 이름과는 다르게 되기 때문이다.
- 자식클래스의 인스턴스를 생성하기 위하여 생성자를 호출하면,
1.부모클래스의 인스턴스가 먼저 생성되고
2.부모클래스의 생성자를 호출하여 작업을 수행한 후에
3. -> 자식클래스 생성자 내의 코드가 실행된다.
'개발자 양성과정 필기노트 > JAVA' 카테고리의 다른 글
Wrapper 클래스 (0) | 2021.10.09 |
---|---|
오버라이딩 / 오버로딩 / 생성자와 super (0) | 2021.10.02 |
추상클래스와 인터페이스 (0) | 2021.09.28 |
싱글톤 디자인 패턴 / final / 상수 (0) | 2021.09.14 |
Static (0) | 2021.09.14 |
댓글