본문 바로가기
  • hello world
Language/Java

[Java] 패키지(package) · 접근제어자(access modifier)

by JJoajjoa 2024. 7. 3.

 

패키지

비슷한 성격의 클래스들을 모아놓은 자바의 디렉토리

 

 

 

 

 

 

 

 


접근 제어자

 

▶ 종류

  • private
  • default
  • protected
  • public

 

 

1. private

해당 클래스 안에서만 접근 가능

public class Sample {
	private String secret;
    	private String getSecret() {
    	return this.secret
    }
}

secret 변수와 getSecret 메서드는 오직 Sample 클래스에서만 접근 가능! (다른 클래스에서는 접근 불가능)

 

 

 

 

2. default

접근 제어자를 별도로 설정하지 않는다면 변수나 메서드는 default 접근 제어자가 자동으로 설정되어

동일한 패키지 안에서만 접근이 가능

 

 

 

 

 

 

3. protected

동일 패키지의 클래스 또는 해당 클래스를 상속받은 클래스에서만 접근 가능

 

▽ house/kim

package house; // 패키지가 서로 다름

public class Kim {
	protected String lastName = "Kim";
}

 

▽ house/person/jjoa.java

package house.person; // 패키지가 서로 다름

import house.Kim;

public class Jjoa extends Kim {
    public static void main(String[] args) { // Kim을 상속함
    	Jjoa jjoa = new Jjoa();
        System.out.println(jjoa.lastName); // 상속한 클래스의 proteced 변수는 접근 가능
    }
}

 

 

 

 

 

 

4. public

어떤 클래스에서도 접근 가능

 

 

 

 

 

 

 

 

 

 

'Language > Java' 카테고리의 다른 글

[Java] 스태틱(static)  (0) 2024.07.03
[Java] JVM · JDK · 코드 구조  (0) 2024.03.05
[Java] JDBC  (0) 2023.10.06
Apache Tomcat 9.0 설치 및 실행예제  (0) 2023.10.04
JDK 환경변수 설정  (0) 2023.08.23