랩터
[Java] 패키지,접근 제어자 본문
패키지
**패키지(package)**란 특정한 목적을 공유하는 클래스와 인터페이스의 묶음을 의미합니다.
자바에서 패키지는 물리적인 하나의 디렉토리(directory)이고, 하나의 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지에 속해있습니다.
Import 문
import 문은 다른 패키지 내의 클래스를 사용하기 위해 사용하며, 일반적으로 패키지 구문과 클래스 문 사이에 작성합니다.
만약 같은 패키지에서 여러 클래스가 사용될 때는 import 문을 여러 번 사용하기보다는 위에 작성된 것처럼 import 패키지 명.* 으로 작성하면 해당 패키지의 모든 클래스를 패키지 명 없이 사용할 수 있습니다.
제어자(Modifier)
자바 프로그래밍에서 제어자는 클래스, 필드, 메서드, 생성자 등에 부가적인 의미를 부여하는 키워드를 의미합니다.
자바에서 제어자는 크게 접근 제어자와 기타 제어자로 구분할 수 있습니다.
접근 제어자 | public, protected, (default), private |
기타 제어자 | static, final, abstract, native, transient, synchronized 등 |
제어자는 클래스, 필드, 메서드, 생성자 등에 주로 사용되며 ‘ 맛있는 빨간 사과'에서 사과를 수식하기 위해 ‘맛있는'과 ‘빨간'이라는 형용사가 두 번 사용된 것처럼 하나의 대상에 대해서 여러 제어자를 사용할 수 있습니다.
하지만, 각 대상에 대해서 접근 제어자는 단 한 번만 사용할 수 있습니다.
접근 제어자(Access Modifier)
접근 제어자를 사용하면 클래스 외부로의 불필요한 데이터 노출을 방지(data hiding)할 수 있고, 외부로부터 데이터가 임의로 변경되지 않도록 막을 수 있습니다. 이것은 데이터 보호의 측면에서 매우 중요하다고 할 수 있습니다.
자바 접근 제어자로 다음의 4가지가 있습니다.
접근 제어자 | 접근 제한 범위 |
default | 동일 패키지 내에서만 접근 가능 |
protected | 동일 패키지 + 다른 패키지의 하위 클래스에서 접근 가능 |
public | 접근 제한 없음 |
private | 동일 클래스에서만 접근 가능 |
위의 내용을 접근 제한 범위에 따라서 표현하면,
public(접근 제한 없음) > protected(동일 패키지 + 하위클래스) > default(동일 패키지) > private(동일 클래스) 순으로 정리할 수 있습니다.
이 중 default의 경우는 아무런 접근 제어자를 붙이지 않는 경우 기본적인 설정을 의미합니다. 즉 변수명 앞에 아무런 접근 제어자가 없는 경우에는 자동으로 해당 변수의 접근 제어자는 default가 됩니다.
'공부 > JAVA' 카테고리의 다른 글
[Java] 상속 (0) | 2024.04.17 |
---|---|
[Java] 추상화(Abstraction),abstract 제어자 (0) | 2024.04.16 |
[Java] 캡슐화 (0) | 2024.04.16 |
4/11 객체지향이론, 기본개념 (0) | 2024.04.11 |
4/8 배열 (0) | 2024.04.08 |