모던자바인액션
-
챕터[4] 스트림모던자바인액션 2020. 10. 21. 15:56
서론 자바 8에서 추가된 스트림은 무엇인지 컬렉션과 무엇이 다른지 등 스트림의 대해서 설명 스트림이란? Java 8 API에 새로 추가된 기능으로 스트림을 이용하면 선언형(데이터를 처리하는 임시 구현 코드 대신 질의로 표현)으로 컬렉션 데이터를 처리할 수 있다. 또한 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 특징으로는 선언형(간결 및 가독성 증가), 조립가능(유연성 증가), 병렬화(성능 증가) 가 존재한다. (스트림은 계속해서 챕터에 나오므로 순차적으로 배워가면 된다.) 스트림 == 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 요소의 정의 연속된 요소 컬렉션과 동일하게 스트림은 특정 요소 형식으로 이루어진 연속된 값 집합의 인터페이스를 제공한다. 컬렉션은..
-
챕터[3] 람다모던자바인액션 2020. 10. 21. 15:55
서론 람다가 무엇인지 람다는 어떤 조건에 사용할 수 있는지 등을 설명하는 챕터이다. 람다란? 람다란 (파라미터) -> {바디} 로 구현되어있으며, 메서드를 전달할 수 있는 익명 함수를 단순화한 것 어디에 람다를 사용하는지? 1. 함수형 인터페이스 함수형 인터페이스를 인수로 받는 메서드에만 람다 표현식을 사용할 수 있는지는 추후 20, 21 챕터에 설명예정 함수 디스크립터 : 함수형 인터페이스의 추상 메서드 시그니처는 람다 표현식의 시그니처를 가리킨다. 람다 표현식의 시그니처를 서술하는 메서드를 함수 디스크립터라고 부른다. 실행 어라운드 패턴 자원 처리에 사용하는 순환 패턴은 자원을 열고, 처리한 다음에, 자원을 닫는 순서로 이루어진다. 설정과 정리 과정 은 대부분 비슷하다. 즉 실제 자원을 처리하는 코드..
-
챕터[2] 동작 파라미터화모던자바인액션 2020. 10. 21. 15:55
제너릭이란 클래스에서 사용할 타입을 클래스 외부에서 선택하여 사용한다. 제네릭 타입은 참조형 타입만 가능하다 (기본형 사용 불가능) ->Wrapper Class 사용 동작 파라미터화란? 자주 바뀌는 요구사항에 효과적으로 대응할 수 있는 방법으로 아직은 어떻게 실행할 것인지 결정화지 않은 코드 블럭을 의미한다. 동작 파라미터화 변화는 요구사항에 대응하기 위하여 기존에는 메서드를 제작하여 구현하였다. 아래와 같이 2가지의 일을 하는 2개의 메서드를 구현하여 판단했다. -> 사과의 색이 빨간색인 사과만 거르는 필터링 메서드 -> 사과의 색이 초록색인 사과만 거르는 필터링 메서드 매 요구사항마다 메서드가 하나씩 생길 수 있는 반면 동작 파라미터화를 이용하여 참 또는 거짓만 반환하는 함수인 프리디케이트를 정의해보..