728x90
반응형
packages.example1 패키지 안에는 A, B라는 java 파일이 있고 packages.example2 패키지 안에는 B, C라는 java 파일이 있다.

A와 B 클래스의 코드는 아래 사진과 같다.


packages.example2 패키지 안에 있는 B 클래스에 있는 main 메소드를 실행시키면 에러가 발생한다.
그 이유는 packages.example2 패키지 안에 A 클래스가 없기 때문이다.
이러한 에러를 해결하기 위해서는 import를 사용하여 A 클래스가 있는 패키지 경로를 넣으면 된다.


다음은 에러가 발생할 수 있는 상황에 대해서 언급해 보려고한다.
packages.example3 패키지 안에 D 라는 클래스가 있다.
D 클래스 main 메소드에서 B를 인스턴스화를 시키려고 하는데 example1과 example2 패키지 안에 B 라는 메소드가 둘 다 있어 import를 해버리면 Java에서는 에러가 발생한다.
이러한 문제를 어떻게 해결해야할까?

다음 코드와 같이 원하는 패키지 경로를 넣어 인스턴스화 시키면 해당하는 패키지의 B 클래스를 가져와 에러를 해결할 수 있다.

728x90
반응형
'TIL > Java' 카테고리의 다른 글
[Java] 인터페이스(interface) (0) | 2022.01.25 |
---|---|
[Java] abstract (0) | 2022.01.25 |
[Java] 메소드 오버로딩(Method Overloading) (0) | 2022.01.20 |
[Java] 오버라이딩(Overriding) (0) | 2022.01.19 |
[Java] 상속과 생성자 (0) | 2022.01.18 |