(Effective Java) 규칙16. public 클래스에서는 public필드가 아닌 접근자 메서드를 사용하라 public 필드의 문제 인스턴스 필드들을 모아놓는 일 외에는 아무 목적도 없는 퇴보한 클래스를 작성하려 할 때가 있다. class Point { public double x; public double y; } 이런 클래스는 데이터필드에 직접 접근할 수 있으니 캡슐화의 이점을 제공하지 못함 API를 수정하지 않고는 내부 표현을 바꿀 수 없고, 불변식을 보장할 수 없음 외부에서 필드에 접근할 때 부수 작업을 수행할 수도 없음 접근자 메서드 public 클래스에서라면 아래의 방식이 확실히 맞다. class Point { private double x; private double y; public..
(Effective Java) 규칙22. 인터페이스는 타입을 정의하는 용도로만 사용하라 인터페이스의 목적 인터페이스를 구현하는 클래스를 만들게 되면, 그 인터페이스는 해당 클래스의 객체를 참조할 수 있는 자료형(type) 역할을 하게 된다. 해당 클래스의 객체로 어떤 일을 할 수 있는지 클라이언트에게 알리는 행위임 인터페이스의 목적은 여기까지이며 다른 목적으로 인터페이스를 정의 하고 사용하는 것은 적절치 못함 인터페이스를 잘못 사용하는 예 상수 인터페이스(constant interface) 형태 메서드가 없고, static final 필드만 있는 형태로 모든 필드는 상수 정의임 대체로 상수 이름 앞에 클래스 이름을 붙이는 번거로움을 피하기 위해서임 //상수 인터페이스 안티패턴 - 사용하지 말 것! pub..
(Effective Java) 규칙20. 추상 클래스 보다는 인터페이스를 우선하라 추상 클래스, 인터페이스 자바 언어에는 여러 가지 구현을 허용하는 자료형을 만드는 방법이 두가지 포함되어 있음. 인터페이스, 추상클래스(abstract class) 이 두 방법의 분명한 차이는 추상 클래스는 구현된 클래스를 포함할 수 있지만 인터페이스는 아니라는 것임. 자바 1.8 부터는 'default' 메서드를 통해 인터페이스에도 구현을 포함시킬 수 있음 좀 더 중요한 차이는 추상 클래스를 자료형으로 사용하기 위해서는 반드시 계승이 필요하다는 것이다. 인터페이스는 포함된 모든 메서드를 정의하고 인터페이스가 규정하는 일반 규약을 지키기만 하면됨 자바는 다중 상속(multiple inheritance)를 허용하지 않기 때문..
- Total
- Today
- Yesterday
- 이펙티브
- Java UI
- 자전거
- JavaFX 테이블뷰
- 배낭 여행
- java
- 텐트
- effective java
- TableView
- git
- 방통대 과제물
- 자바
- 배낭여행
- 일본 여행
- 이펙티브자바
- 일본 자전거 여행
- springboot
- windows
- JavaFX Table View
- 인텔리제이
- JavaFX
- JavaFX Window Close
- 자전거 여행
- JavaFX 종료
- 스프링부트
- 이펙티브 자바
- 일본여행
- effectivejava
- 일본 배낭여행
- intelij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |