2021 02 05
2021-02-05¶
package & import¶
- package란? - 같이 보관하고 싶은 class들의 모음 - 소스 코드들을 묶어서 배포하고 재사용 - 구조 파악에도 용이 - package 명명 convention은 회사 도메인의 역순으로
- 빌드 도구란? - maven, gradle 같은 도구 - 빌드 자동화를 통해 실행가능한 프로그램을 만드는 도구 - 빌드 자동화: 코드를 컴파일하여 binary 코드로 만들고, 테스트하고, 패키징함 - 소스 코드를 컴파일, 테스트, 정적분석 등을 통해 실행 가능한 애플리케이션으로 자동 생성 - 계속해서 늘어나는 라이브러리에 자동 추가 및 관리
class & instance¶
- 개념 - 클래스: 인스턴스 생성 틀, 자체 상태 X - 인스턴스: 클래스의 실체화, 자체 상태 O
- static - 인스턴스를 생성하지 않고 메서드와 필드에 접근하는 경우 static 키워드 - private 생성자를 통해 명시적으로 클래스를 생성할 수 없도록 하자!
- 생성자 - 생성자의 리턴은 생략되어 있다 - 생성자 내부에서 유효성 검사를 통해 예외처리 및 중복 로직을 구현할 수 있다 - 생성자 chaining 을 통해 역할을 위임해주는 연습 해보기
TIP¶
- 디폴트 패키지는 외부에서 사용 불가능. 패키지명 명시해주자
- 가장 좋은 패키지는 10개 이상의 클래스를 가지지 않는다
- 값 vs 주소값 - isEqualTo(): 값 비교 - isSameAs(): 주소값 비교
- keyword "new" -무조건 새로운 인스턴스를 생성한다. 이는 곧 메모리 공간을 차지한다는 말
- 클래스는 객체 관리자 - 인스턴스의 관리자 역할도 수행할 수 있다