티스토리 뷰
package
관련된 클래스들을 모아서 관리할 수 있도록 한다.
한 곳에서 수백, 수천 개의 클래스를 찾는 수고를 덜어준다.
배포할 때 관련된 소스 코드들을 묶어서 배포하고 재사용할 수 있도록 한다.
각 프로젝트나 소프트웨어 간의 소스 코드 충돌을 방지한다.
■ Package Convention
- 일반적으로 패키지명은 회사 도메인명을 사용한다
- 모든 패키지 이름은 소문자
- 패키지명이 java와 javax로 시작해선 안된다. 이 둘은 JDK에서 독점적으로 사용중
- 보통 src/main/java/.. , src/test/java/.. 형태
■ import
모든 클래스앞에 패키지명을 사용하는 것은 비효율적.java.util.Scanner sc = new java.util.Scanner(System.in);
import를 활용해 바로 사용
Class vs Instance
Class : Instance를 생성하기 위한 틀(template). 클래스만으론 상태가 없음.
Instance : Class를 통해 실체화되어 생성됨. 상태를 갖고 메소드를 통해 상태가 변경된다.
이 둘의 구분과, 객체지향의 개념, 3대 원칙을 잘 설명해주는 자료
ㄴ 특히 인상깊었던 표현들
■ Instance field/method
■ Class field/method (static)
public class DateUtils {
private DateUtils() {}
public static Date createDate(int year, int month, int date) {
{...}
}
}
- 상태를 가지지 않아, 인스턴스를 생성하지않고 메소드와 필드에 접근하는 경우 static 키워드로 구현.
- 생성자를 오픈해도 상관없지만, 클래스의 모든 메소드가 static이라면 생성자를 private으로 만들어, 클래스를 생성할 수 없도록 하는것이 개발자 입장에서 더 명확.
'General, Java' 카테고리의 다른 글
용어정리 - DTO vs VO / DAO / POJO (0) | 2019.09.14 |
---|---|
Java) Unit Test, TDD (단위테스트, 테스트 주도 개발) (0) | 2019.09.14 |
Java) enum을 활용해 if문 없애기 (with Calculator 예제) (0) | 2019.09.14 |
Java Project에서 main()의 위치에 대해 (0) | 2019.09.14 |
Java) Thread간 실행순서 with Sleep() (0) | 2019.09.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Java
- mysql
- queue
- socket
- C
- webhacking.kr
- Android
- 프로그래머스
- javascript
- Stack
- sort
- graph
- JPA
- Data Structure
- 우아한 테크코스
- Android Studio
- Vo
- OneToMany
- bfs
- brute-force
- 해외여행
- 웹해킹
- 리버싱
- dfs
- git
- 개발자
- FRAGMENT
- 회고
- Algorithm
- reversing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함