Class
-
[Java] Effective Java 3/E 정리 - 4장 클래스와 인터페이스Study/이펙티브 자바 2021. 6. 23. 19:22
이번 장에서는 클래스와 인터페이스를 쓰기 편하고, 견고하며, 유연하게 만드는 방법을 알아본다. Item15. 클래스와 멤버의 접근 권한을 최소화하라 정보 은닉 (캡슐화) 잘 설계된 컴포넌트는 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼는냐가 중요하다. 이는 정보은닉, 혹은 캡슐화라고 하는 개념으로 소프트웨어 설계의 근간이 되는 원리다. 정보 은닉의 장점은 다음과 같이 정리할 수 있다. 시스템 개발 속도를 높인다. 여러 컴포넌트를 병렬로 개발할 수 있기 때문이다. 시스템 관리 비용을 낮춘다. 각 컴포넌트를 더 빨리 파악하여 디버깅할 수 있고, 다른 컴포넌트로 교체하는 부담도 적기 때문이다. 정보 은닉 자체가 성능을 높여주지는 않지만, 성능 최적화에 도움을 준다. 완성된 시스템을 프로..
-
[Java] Effective Java 3/E 정리 - 2장 객체 생성과 파괴Study/이펙티브 자바 2021. 6. 9. 15:09
이번 장은 객체의 생성과 파괴에 대해 다룬다. 객체의 생성 시점, 생성 방법, 불필요한 생성을 피하는 법 , 객체의 소멸을 보장하는 법, 정리 작업을 관리하는 법 등을 알아 본다. Item 1. 생성자 대신 정적 팩토리 메서드를 고려하라 클래스의 인스턴스를 얻을 때 public 생성자를 주로 사용한다. 그러나 여기서는 정적 팩토리 메서드(static factory method)를 소개하며 정적 팩토리 메서드를 사용했을 때의 장단점을 설명한다. 정적 팩토리 메서드(static factory method)란? 클래스의 인스턴스를 반환하는 정적 메서드로, public 생성자 대신 혹은 함께 사용 가능하다. 책에서는 Boolean 클래스의 정적 팩토리 메서드 valueOf를 예제로 소개하고 있다. valueOf..