콘텐츠로 이동

2022 05 20

2022-05-20

Effective Java Item 1. 생성자 대신 정적 팩토리 메서드를 고려하라 완벽 공략 강의

  • 완벽 공략 2. 플라이웨이트 패턴
    • 자주 사용되는 같은 객체를 묶어서 메모리 사용 줄이자
    • 자주 변하는 속성과 변하지 않는 속성을 분리하고, 재사용하여 메모리 사용 줄이는 것
      • 학교는 자주 안바뀐다면, 이런식으로 관리해보는것은 어떨까?
        public class student {
            private String name;
            private int studentNumber;
            private School school;
        }
        
        pubilc class School {
            private String schoolName;
            private String schoolLocation;
        }
        
  • 완벽 공략 3. 인터페이스와 정적 메서드
    • 인터페이스 특 : 디폴트 메서드와 정적 메서드 가질 수 있음
    • 디폴트 메서드 (default method)
      • 인터페이스에서 메서드 선언 뿐 아닌, 기본적인 구현체 까지 제공가능
      • 기존 인터페이스를 구현하는 클래스에 새로운 기능 추가가능
      • 이거 상속받아 인스턴스와 시킨 객체가 default method 호출하여 로직 수행가능
    • 정적 메서드 (static method)
      • 자바 9 부터는 private static도 OK
  • 완벽 공략 4. 서비스 제공자 프레임워크
    • 주요 구성 요소
      • 서비스 제공자 인터페이스 : 제공할 기능을 담은 인터페이스
      • 서비스 제공자(서비스 구현체) : 인터페이스를 구현한 @Service 붙은 서비스 클래스
      • 서비스 제공자 등록 API : @Configuration, @Bean
      • 서비스 접근 API : ApplicationContext, @Autowired