반응형 public void static main/Book33 [Effective Java] 아이템 15 으아아아 내일 스터디인데 스터디 할꺼 많아져서 블로그를 이제쓴다.... 책 읽기도 힘들었따...... [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 15] 클래스와 멤버의 접근 권한을 최소화하라 잘 설계된 컴포넌트의 가장 큰 차이는 클래스의 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼느냐다. 정보 은닉, 혹은 캡슐화라고 하는 이 개념은 소프트웨어 설계의 근간이 되는 원리이다. 정보은닉(캡슐화) 장점 시스템 개발 속도를 높인다. 여러 컴포넌트를 병렬로 개발할 수 있기 때문이다. 시스템 관리 비용을 낮춘다. 각 컴포넌트를 더 빨리 파악하여 디버깅할 수 있고, 다른 컴포넌트로 교체하는 부.. 2023. 1. 18. [Effective Java] 아이템 13 이장은 간단히 하고 넘어가겠다! [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 13] clone 재정의는 주의해서 진행하라 실무에서 Cloneable을 구현한 클래스는 clone 메서드를 public으로 제공하며, 사용자는 당연히 복제가 제대로 이뤄지리라 기대한다. 이 기대를 만족시키려면 그 클래스와 모든 상위 클래스는 복잡하고, 강제할 수 없고, 허술하게 프로토콜을 지켜야만 하는데, 그 결과로 깨지기 쉽고, 위험하고, 모순적인 메커니즘이 탄생한다. 생성자를 호출하지 않고도 객체를 생성할 수 있게 되는 것이다. Clone 메서드는 사실상 생성자와 같은 효과를 낸다. 즉, clone은 원본 객체에 아무런 해.. 2023. 1. 10. [Effective Java] 아이템 10 ~ 아이템 11 으어어ㅓㅓ어 맨날 스터디 전날에 공부해.... [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 10] equals는 일반 규약을 지켜 재정의하라! [아이템 11] equals를 재정의하려거든 hashCode도 재정의하라!!!!! equals는 아예 재정의 하지 않는것이 아주 좋다고한다! 그냥 둔다면 그 클래스의 인스턴스는 오직 자기 자신과만 같게 된다. 그러니 다음에서 열거한 상황 중 하나에 해당한다면 재정의 하지 않는 것이 최선이다. 각 인스턴스가 본질적으로 고유하다. 값을 표현하는 게 아니라 동작하는 개체를 표현하는 클래스가 여기 해당한다. Thread가 좋은 예로, Object의 equals 메서드는 .. 2023. 1. 10. [Effective Java] 아이템 3 이제... 아이템 3.... 미리 공부 해놓자... [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 3] 생성자나 열거 타입으로 싱글턴임을 보증하라. 싱글턴 패턴이 궁금하다면! 내 글을 참고! (낄낄) https://lima1016.tistory.com/93 [Design Patterns] Singleton Pattern feat. 백기선 강사님 하루 1강씩이라도 듣자는 의지를 계속 실천하고있따!!!! 할수있다!! 잘한다 잘한다 잘한다 자! 오늘의 복습! 시작! Singleton Pattern이 뭐야? - 인스턴스를 오직 한개만 제공하는 클래스! 개념은 알겠 lima1016.tistory.com 싱글턴이란 .. 2023. 1. 3. [Effective Java] 아이템 2 아~~ 오늘 아이템 9번까지 해야하는데에ㅔ에ㅔㅔㅔㅔ 뿌액 [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 2] 생성자에 매개변수가 많다면 빌더를 고려하라! 점층적 생성자 패턴도 쓸 수는 있지만, 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어렵다. 점층적 생성자 패턴 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, ... 형태로 선택 매개변수를 전부 다 받는 생성자 까지 늘려가는 방식 단점 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어렵다. 클라이언트가 실수로 매개변수의 순서를 바꿔 건네줘도 컴파일러는 알아채지 못하고, 결국 런타임에 엉뚱한 동.. 2023. 1. 3. [Effective Java] 아이템 1 이펙티브 자바 스터디를 시작했다... 열심히 하자! [책 규칙] 노란색 - 자세히 알아보고싶은 부분 초록색 - 핵심 개념 (블로그 정리시는 검은색으로!) 빨간색 - 무슨말인지 모르겠는 부분 [아이템 1] 생성자 대신 정적 팩터리 멧서드를 고려하라! 정적 팩터리 메서드가 생성자보다 좋은 장점 다섯가지! 이름을 가질 수 있다. 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 인스턴스를 미리 만들어 놓거나 새로 생성한 인스턴스를 캐싱하여 재활용하는 식으로 불필요한 객체 생성을 피할 수 있다. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. 반환할 객체의 클래스를 자유롭게 선택할 수 있게 하는 엄청난 유연성을 갖고있다. 구현 클래스.. 2023. 1. 3. 이전 1 2 3 4 다음 반응형