티스토리 뷰
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
- dfs
- 리버싱
- queue
- socket
- 프로그래머스
- Vo
- javascript
- bfs
- Algorithm
- 회고
- reversing
- Stack
- Android
- sort
- graph
- webhacking.kr
- Android Studio
- OneToMany
- 웹해킹
- brute-force
- Java
- 해외여행
- git
- FRAGMENT
- 개발자
- mysql
- JPA
- Data Structure
- 우아한 테크코스
- C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함