project | repository |
---|---|
숫자야구 | java-base-ball-6 |
자동차 경주 | java-racingcar-6 (1차) java-racingcar-6 (2차) |
로또 | java-lotto-6 (1차) java-lotto-6 (2차) |
크리스마스 프로모션 | java-christmas-6 |
자판기 | java-vendingmachine-precourse |
지하철 노선도 경로 조회 | java-subway-path-precourse |
- 예외사항도 Read.me에 적기
- 함수의 길이를 15라인이 넘지 않도록 하기
- 연관성이 있는 상수는 static final 대신 Enum을 활용하기
- getter지양 Getter지양 방법
- 객체의 필드의 수를 줄이기 위해 노력하기
- 테스트코드도 리팩토링을 하기, 파라미터의 값만 바뀌는 경우라면 @ValueSource이용하기
- priavte함수를 테스트하고 싶다면 클래스 분리하기
- 단위테스트하기 어려운 코드를 단위테스트하기
-
getter를 지양해야하는 이유 및 지양 방법, 또 무조건 지양해야해?
- 캡슐화 : 외부에서 객체 내부에 어떤 속성이 있는지 완벽하게 알지 못하게 해야한다.
- 디미터 법칙 : 다른 객체가 어떠한 자료를 갖고 있는지 속사정을 몰라야 한다는 것을 의미
-
- 일급컬레션 : Collection을 Wrapping하면서, Wrapping한 Collection 외 다른 멤버 변수가 없는 상태
-
- 정적 팩토리 메소드 : of, from 등 메소드 이름을 지정하고, 생성자 호출 방식이 아닌, 메서드 호출 방식으로 객체를 생성하는 것
-
-
IS-A 관계 : 일반적인 개념과 구체적인 개념의 관계
예시
사람은 동물이다.
소는 동물이다
새는 동물이다.
즉, 일반 클래스를 구체화 하는 상황에서 상속을 사용한다.
-
-
HAS-A 관계 : 일반적인 포함 개념의 관계
- 과목 클래스를 포함하는 학생 클래스의 경우 과목 클래스의 코드를 재사용 하기 위해 상속을 사용하지는 않는다.
-
- EnumMap : Map의 구현체로, key값으로 Enum이 들어가야하는 구조
-
- 싱글톤 패턴 : 객체의 인스턴스를 한개만 생성되게 하는 패턴