패키지와 접근지정자에 따른 컴파일 여부
package comone; public class ModifyEx1{ public String data1; String data2; protected String data3; private String data4; }
ModifyEx1 이라는 클래스를 comone 디렉토리에 생성(컴파일)
package
comone; public class ModifyEx2{ public void callClass(){ ModifyEx1 m = new ModifyEx1(); m.data1 = "data1"; m.data2 = "data2"; m.data3 = "data3"; m.data4 = "data4"; } }위에 만든 클래스와 같은 위치(comone)에 ModifyEx2를 생성하고자 한다.
ModifyEx2를 컴파일 하려고 하면 다음과 같은 메세지가 뜬다.
private권한을 가진 변수로 접근이 불가능하기에 컴파일이 안됨.
package comtwo; import comone.ModifyEx1; public class ModifyEx3{ public void callClass(){ ModifyEx1 m = new ModifyEx1(); m.data1 = "data1"; m.data2 = "data2"; m.data3 = "data3"; m.data4 = "data4"; } }
이번엔 다른 디렉토리(comtwo)에 위치하는 ModifyEx3을 생성하고자 한다.
ModifyEx3을 컴파일 하려고 하면 다음과 같은 메세지가 뜬다.
다음과 같이 3개의 에러가 발생한다.
다른 디렉토리에 위치하기 때문에 fiendry, protected, private 의 3가지 접근지정자에 접근이 불가능하다.