반응형
패키지/하위패키지 생성
- 패키지 만들기
- 하위 패키지 만들기
- 패키지 뒤에 온점(.)을 붙이면 하위 패키지로 생성
외부 클래스 호출
- 파일 구조
src ─ myPackage ┬ test_main.java
└ test ─ test.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이 되어있지 않으면 에러 출력
접근 제어자 (Access Modifier)
위에서 외부 클래스 호출시 public을 사용해야 에러가 출력되지 않음을 확인하였다.
그렇게 하는 이유는 무엇일까? 바로 접근 제어자의 속성 때문이다.
외부 클래스는 'test_main.java' 파일의 클래스 내에 선언되어있지 않고, 하위 패키지이므로 같은 패키지가 아니다.
또한 상속 관계도 아니기 때문에 전체로 구분하며 public을 사용하는 것이다.
반응형