일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- spring security
- 다익스트라
- disjoint set
- Redis
- 스프링
- DP
- dfs
- 백준
- 세그먼트 트리
- 문자열
- 자바
- java
- 알고리즘
- 포트앤어댑터 아키텍처
- docker
- JPA
- UML
- pandas
- ddd
- equals
- 헥사고날 아키텍처
- dataframe
- 파이썬
- 데이터 flow
- 위상정렬
- 이펙티브 자바
- series
- springboot
- 비트마스크
- Today
- Total
목록이펙티브 자바 (2)
코딩못하는사람
[아이템15]클래스와 멤버의 접근 권한을 최소화 어설프게 설계된 컴포넌트와 잘 설계된 컴포넌트의 차이는 클래스 내부 데이터와 내부 구현 정보를 외부 컴포넌트로 부터 얼마나 잘 숨겼는지에 의해 결정된다. 잘 설계된 컴포넌트는 모든 내부구현을 숨기고 구현과 API를 깔끔하게 분리해서 서로의 내부 동작방식을 알 필요가 없게된다. 이것을 정보은닉 및 캡슐화라고 부른다. 정보은닉의 장점 시스템 개발 속도 상승 (여러가지 컴포넌트를 병렬적으로 개발 가능) 시스템 관리 비용 절감 (디버깅 및 다른 컴포넌트로 교체하는 부담이 적다) 성능최적화에 도움 소프트웨어 재사용성을 높인다.(외부 의존도가 거의 없고 독자적이라면 낯선 환경에서도 사용가능) 큰 시스템 제작 난이도를 낮춰준다. (전체가 완성되지 않아도 개별 컴포넌트의..
[아이템1] 생성자 대신 정적 팩터리 메서드를 고려하자 클라이언트가 클래스의 인스턴스를 얻기 위해서는 보통 public 생성자를 사용했다. 하지만 다른 방법으로 public static 팩토리 메소드를 사용해서 해당 클래스의 인스턴스를 만드는 방법도 있다. public static 팩토리 메소드의 장점 1. 이름을 가질 수 있다. BigInteger.probblePrime를 보자. 기존 생성자로 BigInteger()을 사용하는 것 보다 BigInteger.probblePrime()를 사용하면 만드려는 인스턴스 객체의 특성을 더 알아보기 쉽게 묘사할 수 있다. 2.호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 불변(immutable) 클래스인 경우나 매번 새로운 객체를 만들 필요가 없는 경우에 미..