Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

랩터

[Java] 패키지,접근 제어자 본문

공부/JAVA

[Java] 패키지,접근 제어자

raptorhs 2024. 4. 16. 15:52

패키지

**패키지(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