본문 바로가기
개발자 양성과정 필기노트/JAVA

Import / 접근제한자 / 상속 / 생성자

by jono 2021. 10. 2.

     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

댓글