Java - 외부 클래스 임포트 하는 방법 (+하위 패키지 생성 방법), 접근 제어자

반응형

패키지/하위패키지 생성

  • 패키지 만들기

 

  • 하위 패키지 만들기
  • 패키지 뒤에 온점(.)을 붙이면 하위 패키지로 생성


외부 클래스 호출

  • 파일 구조

src ─ myPackagetest_main.java

                             └ testtest.java


하위 패키지의 test.java

  • print 호출시 Hello World! 문구 출력
  • 중요! 외부에서 호출시 함수와 변수는 public으로 선언
package myPackage.test;

public class test {
	public String msg = "Hi!";
	
	public void print() {
		System.out.println("Hello World!");
	}
}

패키지의 test_main.java

  • 외부 클래스 호출
    • import 패키지명.클래스명
package myPackage;

import myPackage.test.test;

public class test_main {

	public static void main(String[] args) {

		test t = new test();
		t.print(); // Hello World!
		
		System.out.println(t.msg); // Hi!
	}
}

에러 발생 부분 (public 설정)

  • 만약 함수나 변수에 public으로 설정해두지 않으면 외부에서 호출시 에러 출력
  • 예) 변수에 public 처리하지 않았을 때의 에러
    • 같은 방식으로 함수에도 public이 되어있지 않으면 에러 출력

< test.java 파일의 인스턴스 변수에 public 설정을 하지 않은 상태 >

 

< test.java 파일을 호출하였으나 private로 설정(기본값)되어있기 때문에 호출이 되지 않음 >


접근 제어자 (Access Modifier)

위에서 외부 클래스 호출시 public을 사용해야 에러가 출력되지 않음을 확인하였다.

그렇게 하는 이유는 무엇일까? 바로 접근 제어자의 속성 때문이다.

외부 클래스는 'test_main.java' 파일의 클래스 내에 선언되어있지 않고, 하위 패키지이므로 같은 패키지가 아니다.

또한 상속 관계도 아니기 때문에 전체로 구분하며 public을 사용하는 것이다.

반응형