JAVA package, information hiding, access modifier (230621)
![post-thumbnail](https://velog.velcdn.com/images/geoni4/post/7affc5b4-51c8-40fe-805a-b1c6d75efdc5/image.jpg)
1.패키지란?
- 프로젝트를 진행할 때 일정한 단위로 묶어서 진행하도록 클래스를 모아둔 것
- 보통 com.google.project(도메인.조직명) 같이 이름을 작성한다.
2.정보은닉이란? = 접근제한 = 문법도입(4가지의 접근제한자)
- 정보은닉(information hiding)
- 접근제한자를 이용해 우리가 현실세계를 구현한 객체에 원하지 않는 값이 들어오지 않도록 일정한 단위로 접근을 막거나 허용하도록 키워드를 이용해 제한하는 기법
3.접근 제한자 4가지를 정리 하시오.
- 접근제한자 public, (default), protected, private
| 접근 범위 | 적용 가능 |
---|
public | 어디든 가능 | class, method, field |
protected | 상속 받은 클래스 | method, field |
(default) | 같은 패키지 안에서 가능 | class, method, field |
private | 해당 클래스 내에서만 | method, field |
지시자 | 클래스 내부 | 동일 패키지 | 상속 받은 클래스 | 이외의 영역 |
---|
private | O | X | X | X |
(default) | O | O | X | X |
protected | O | O | O | X |
public | O | O | O | O |
4.로컬 변수에 접근제한자가 안붙는 이유?
- 로컬 변수는 method가 끝나면 사라지기 때문에 접근 제한자가 있어봐야 의미가 없다. 애초에 접근을 할 수도 없다.