ETC/도서15 Effective Java 2/E - 규칙.19. 인터페이스 자료형을 정의할 때만 사용하라 인터페이스를 구현하는 클래스를 만들게 되면 해당 클래스의 객체를 참조할 수 있는 자료형 역할을 한다 다른 목적으로 인터페이스를 사용하지 말자 안좋은 예시는 상수 인터페이스 이다 public interface PhysicalConstants { static final double AVOGADROS_NUMBER = 6.02221313e23; ...중략 } 사용자를 혼동시키며 변경 시에도 문제가 발생될 수 있다. 이런 상수들을 사용할 때는 enum 자료형을 사용하자 2023. 3. 16. 추상팩토리 패턴을 사용이유 제목과 다르게 추상팩토리 패턴를 왜 쓰는지에 대한 의문점이라기 보다 Clean Code 내용을 보던 중 공감가는 부분이 추상팩토리 패턴과 연관있어 작성하게 되었다. Clean Code 3장 함수 부분을 보면 Switch에 대한 본질적인 문제점과 이를 최대한 해소하기 위한 노력을 보여준다 실제로 Switch 코드를 수정하다 보면 여러 수정을 손대야하는 경우가 많아서 이에 대한 내용을 짧게 정리하고자 한다. 출처 : Clean Code 3장 내용 일부 발췌 public Money calculatePay(Employee e) throws InvalidEmployeeType { switch(e.type){ case COMMISSIONED : return calculateCommissionedPay(e); cas.. 2022. 12. 16. Effective Java 2/E - 규칙.18 추상 클래스 대신 인터페이스를 사용해라 추상 클래스가 규정하는 자료형을 구현하기 위해서는 추상 클래스를 반드시 계승해야한다. 인터페이스는 메서드를 정의하고 일반 규약만 지키면 되기에 클래스 계층에 속할 필요가 없다 그렇기에 이미 있는 클래스를 개조해서 새로운 인터페이스를 구현하는 것은 간단하다 필요 메서드를 추가한 다음 implements 절에 넣는 것이 전부다. 인터페이스는 믹스인을 정의하는데 이상적이다 인터페이스는 비 계층적인 자료형 프레임워크를 만들 수 있도록 한다. public interface Singer { AudioClip sing(Song s); } public interface SongWriter { Song compose(boolean hit); } public interface SingerSongwriter extends .. 2022. 12. 4. 이전 1 2 3 다음