2020. 9. 26. 23:50ㆍ컴퓨터 수업/Java
@접근제어자의 종류
1. public
2. protected
3. default
4. private
public > protected > default > private (허용범위)
@각 접근 제어자의 허용범위
1.public
접근에 제한이 없음.
2.protected
동일한 패키지 내에 존재하거나 파생 클래스에서만 접근 가능
3.default
아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능
4.private
자기 자신의 클래스 내에서만 접근이 가능
@클래스를 정의할 때 사용하는 접근자 & 멤버를 정의할 때 사용하는 접근자
1. 클래스를 정의할 때 사용하는 접근자는 오직 public과 default 뿐이다.
public으로 선언되면 다른 패키지간에도 해당 클래스를 선언 가능하다.
default로 선언되면 다른 패키지 간에는 해당 클래스를 선언할 수 없다.
@Java의 source code단위 (c에서의 솔루션 프로젝트 헤더와 같이...)
위의 그림을 정확히 따른다.
가장 큰 범주가 패키지이며, 그 다음이 클래스이다. 사실 말이 클래스이지 파일이라고 보는 것이 맞다. 이 파일 안에는 주 클래스와 부 클래스가 존재하며, 주 클래스는 해당 파일과 이름이 동일해야 한다. 주 클래스에는 메인 함수가 존재할 수도 있고 존재하지 않을 수 도 있는데, 메인 함수(메서드)는 반드시 주 클래스에 존재한다. 이 주 클래스는 다른 패키지에서도 접근할 수 있도록 public으로 선언되어 있다.
따라서 패키지->파일->클래스->메소드&멤버의 계층구조를 가진다.
또한, 파일은 사실 상 없는 구조라고 생각하면 된다. 왜냐하면 하나의 패키지 안에는 반드시 하나의 메인 메소드가 존재하는 것이 국룰이기 때문에, 여러 다른 파일들이 존재해도, 그들은 물리적으론 나뉘어있지만 실제론 접근에 아무런 제약이 없기 때문에 상관이 없다. (접근은 패키지 단위로 잘리기 때문)
@참고한 블로그
mainia.tistory.com/5574-> 멤버의 접근제한자
wowon.tistory.com/125 -> 클래스의 접근제한자
@C++와 같이 생각하기
main함수 -> package의 main함수가 존재하는 클래스
default 변수 -> 전역변수
@
'컴퓨터 수업 > Java' 카테고리의 다른 글
Java 클래스 만드는 대표적 예시 (0) | 2020.10.18 |
---|---|
import (0) | 2020.09.27 |
java application, 빌드단위 (0) | 2020.09.26 |
JAVA String 문법 (0) | 2020.09.12 |
Java의 array (0) | 2020.09.12 |