해당 게시물은 [제대로 파는 자바 (Java) - by 얄코]를 수강한 내용을 바탕으로 작성하였습니다.
- 자바 프로젝트의 디렉토리(폴더) - 패키지로 불리게 됨
- 일정 규모 이상의 프로그램을 적절히 모듈화
- 패키지 정보: 클래스의 구성요소 중 하나
- 클래스명의 중복을 피하기 위해 사용
- 예: Button 클래스 - JRE의 동명 클래스 등 확인
- 빌드의 결과도 패키지의 구조를 따름
▼Parent와 같은 패키지에 있는 Child(자식클래스)와 Friend
▼Parent와 다른 패키지에 있는 Child(자식클래스) - 상단에 import 필요
▼ 다른 패키지 내의 모든 클래스를 가져올 때 (*) / 여러 다른 패키지에서 클래스를 가져오는 경우
※ 위의 파일을 컴파일 시
src 폴더에서 명령 입력해 볼 것
- 최상위 패키지가 포함된 폴더일 것
- 다른 위치 (바깥쪽이든 안쪽이든) 에서는 디렉토리 맞춰도 오류 발생
- 원하는 위치에 프로젝트 구조에 따른 .class 파일들 생성할 수 있음
⭐️ 리펙토링
- IntelliJ에서 클래스들을 다른 패키지로 옮겨 볼 것
- 파일의 위치 변경이 패키지 정보에도 반영되어야 함
프로젝트 패키지명 작명
- 인텔리제이에서 새 프로젝트 - Maven 또는 Gradle - 고급 옵션에서 예시
- 본인/또는 회사의 도메인 (있을 경우) 권장
- kr.yalco.calculator
- 한국에 있는 얄코란 사람/회사가 만든 계산기 프로그램
- 규모, 주체, 용도 등을 파악 가능
- 다른 프로젝트들에 사용될 시…
- java, javax 가 맨 앞에 올 수 없음 (JRE 라이브러리와 중복)
- src 폴더 안에 만들고 클래스 넣어 확인해 볼 것
- 식별자 명명 규칙 따름
⭐️ java.lang 패키지
- 자바 라이브러리에 기본으로 포함
- java.lang은 임포트하지 않아도 되는 패키지
- System, String 등을 임포트하지 않아도 되는 이유
- 다른 라이브러리 패키지들은 임포트해야 함