[Java] 접근제한자

1. 접근제한자

클래스 내부에 선언한 메소드 및 속성들 중 외부에 노출시키지 않기 위해, 외부에서 사용하는 것을 허용하지 않을때 사용하는 입력인자이다.

아래는 각 메소드 및 속성에 대한 허용 범위 순서에 따른 접근제한자이다.

1-1. public

모든 경로를 통한 접근을 허용한다.

public class test{
	public int value1 = 1;
}

1-2. protected

같은 패키지, 다른 패키지라도 상속받은 경우 접근을 허용한다.

public class test{
	protected int value2 = 2;
}

1-3. default

default 접근지정자, 같은 패키지에서 접근을 허용한다.

public class test{
	default int value3 = 3;
}

1-4. private

가장 범위가 좁은 접근 지정자, 자기 자신의 인스턴스를 통해서만 접근이 가능하다.

public class test{
	private int value4 = 4;
}

2. 활용

pacakge javaproject

public class{
	public void main(String[] args){
    	test t1 = new test();
        
        result = t1.value1;
    }
}

위와 같이 동일한 패키지 내에서, t1 인스턴스를 생성한다면 public, protected 등에 접근이 가능하다.
단 private로 선언되어있는 메소드에 대해선 접근이 불가능하다.

package com.javaproject

import javaproject.test

public class test2 extends test{
}

위와 같이 다른 패키지라도, package / import를 통해 protected 접근자에 한해 접근이 가능해진다.

좋은 웹페이지 즐겨찾기