일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가장 큰 수
- @Data
- 쿠버네티스
- @EnableScheduling
- 커링
- 영속 자료구조
- 모던 자바 인 액션
- @configuration
- 스프링 스케쥴러
- K번째수
- 프로그래머스
- 다리를 지나는 트럭
- 고차원 함수
- 기능개발
- 정렬
- 알고리즘
- 크론 표현식
- 전화번호 목록
- @Setter
- 완주하지 못한 선수
- 루씬 인 액션
- @Getter
- 스택/큐
- H-index
- 검색 기능 확장
- Java
- 롬복 어노테이션
- 해시
- kubenetes
- 코딩 테스트
- Today
- Total
목록JAVA & Spring/모던 자바 인 액션 (23)
Today I Learned
14.1 압력 : 소프트웨어 유추 지금까지는 이해하고 유지보수하기 쉬운 코드를 구현하는 데 사용할 수 있는 새로운 언어 기능을 살펴봤다. 하지만 이러한 부분은 저수준의 영역에 해당하며, 소프트웨어 아키텍처에 해당하는 고수준의 영역에서는 생산성을 높일 수 있도록 추론하기 쉬운 소프트웨어 프로젝트가 필요하다. 14.1.1 관심사 분리(SoC, Separation of concerns) 컴퓨터 프로그램을 고유의 기능으로 나누는 동작을 권장하는 원칙이다. SoC는 다음과 같은 장점을 가진다. 개별 기능을 따로 작업할 수 있으므로 팀이 쉽게 협업할 수 있다. 개별 부분을 재사용하기 쉽다. 전체 시스템을 쉽게 유지보수할 수 있다. 14.1.2 정보 은닉 세부 구현을 숨김으로 코드를 관리하고 보호하는 데 유용한 원칙..
이 장의 내용 디폴트 메서드란 무엇인가? 진화하는 API가 호환성을 유지하는 방법 디폴트 메서드의 활용 패턴 해결 규칙 인터페이스를 구현하는 클래스는 인터페이스에서 정의하는 모든 메서드 구현을 제공하거나 슈퍼클래스의 구현을 상속받아야 한다. 하지만 인터페이스가 바뀌면 인터페이스를 구현했던 모든 클래스의 구현도 고쳐야하기 때문에 문제가 된다. 자바 8에서는 이 문제를 해결하기 위해 기본 구현을 포함하는 인터페이스를 정의하는 두 가지 방법을 제공한다. 정적 메서드 디폴트 메서드 디폴트 메서드를 사용하면 자동으로 인터페이스를 구현하는 클래스에 메서드가 상속된다. 다음은 List 인터페이스에 새로 추가된 sort 메서드이다. default void sort(Comparator
이 장의 내용 null 참조의 문제점과 null을 멀리해야 하는 이유 null 대신 Optional : null로부터 안전한 도메인 모델 재구현하기 Optional 활용 : null 확인 코드 제거하기 Optional에 저장된 값을 확인하는 방법 값이 없을 수도 있는 상황을 고려하는 프로그래밍 11.1 값이 없는 상황을 어떻게 처리할까? public String getCarInsuranceName(Person person) { return person.getCar().getInsurance().getName(); } 위 코드에서 person이 null이거나 getCar(), getInsurance()가 null을 반환한다면 어떻게 될까? 11.1.1 보수적인 자세로 NullPointerException ..
이 장의 내용 람다 표현식으로 코드 리팩터링하기 람다 표현식이 객체지향 설계 패턴에 미치는 영향 람다 표현식 테스팅 람다 표현식과 스트림 API 사용 코드 디버깅 9.1 가독성과 유연성을 개선하는 리팩터링 람다, 메서드 참조, 스트림 등의 기능을 이용해서 더 가독성이 좋고 유연한 코드로 리팩터링하는 방법을 살펴보자. 9.1.1 코드 가독성 개선 가독성을 개선한다는 것은 구현한 코드를 다른 사람이 쉽게 이해하고 유지보수할 수 있게 만드는 것을 의미한다. 코드 가독성을 높이려면 코드의 문서화를 잘 하고, 표준 코딩 규칙을 준수하는 등의 노력을 기울여야 한다. 9.1.2 익명 클래스를 람다 표현식으로 리팩터링하기 익명클래스를 람다 표현식으로 변환하면 간결하고 가독성 좋은 코드를 구현할 수 있다. 익명클래스를 ..