팩키지로 오는 혼란...
나샘
팩키지 때문에 혼란스럽습니다.
워낙에 초짜라서...
현재 보고 있는 책은 manning 에서 나온 java network programming 입니다..
이 책 어렵네요...
질문은 뭐냐 하면은요..
클래스가 4개가 있습니다.
A, B, C, D 이렇게요.
여기서 A, B, C는 팩키지가 선언이 안 되어 있습니다.
D만 package record; 이렇게 팩키지로 선언이 되어 있습니다.
하지만 D 클래스 A, B, C 를 쓰고 있습니다.
당연히 A, B, C 는 아무 에러없이 컴파일을 마친 상태입니다.
그리고는 javac -d . D.java 로 컴파일을 하니 위의 A, B, C 클래스를 찾을 수 없다고 에러가 나더라고요
그래서 제가 record라는 폴더를 만들고 위의 3 클래스 파일을 복사해 넣었습니다.(*.class 파일을 말입니다)
그리고는 다시 컴파일 했습니다. 위와 같은 명령문으로..
그랬더니..아래와 같은 에러가 나왔습니다..
============ 에 러 내 용 =======================
---------- 기본 컴파일 ----------
Address.java:8: cannot access record.DNSRR
bad class file: .\record\DNSRR.class
class file contains wrong class: DNSRR
Please remove or make sure it appears in the correct subdirectory of the classpath.
public class Address extends DNSRR
^
1 error
출력 완료 (7초 경과) - 정상 종료
====================================================
왜 안 파일에서만 저런 에러가 나는지..
왜 이런가요..
다른 세 파일에는 팩키지 경로를 안 적어줘서 그런가요?
그렇다면은 다른 파일에도(DNSInputStream) 저런 에러가 나와야 하는데
저 클래스 파일에만 에러가 나는건 이유가 뭔지...
-
뽀야
아..에러를 유발하는 dnsrr에서 상속을 받았군요.. 어떻게 해야 제대로 될까요...