목록자바 (3)
JaeniWorld
동작 파라미터화 여러 가지 다른 동작을 매개 변수로 받아 내부적으로 사용해 작업을 수행하는 메소드의 기능으로 행위의 매개변수화 라고도 함 쉽게 말해 변화하는 요구사항에 대응하기 위해 동작을 변수로 받는 것 아무래도 개발을 하다보면 기능이 추가되거나 코드를 고쳐야할 일이 많다. 다양한 요구사항들을 유연하게 대응하기 위해 주로 동작 파라미터화를 사용하며 아래 예제를 통해 정리하려고 한다. 1. 녹색 사과 필터링 사과농장에서 사용할 어플리케이션에 추가될 기능으로 녹색사과 필터링을 만든다. //Color 정의 enum Color {RED,GREEN} //녹색사과 필터링 Public static List filterGreenApples(List inven){ List result = new ArrayList();..
디폴트메소드(Default methods) Java 8 이전 인터페이스는 메소드만 정의할 수 있고 내용은 구현할 수 없었다. 하지만 Java 8부터는 디폴트메소드(Default methods) 기능이 추가되면서 default를 추가하면 구현 내용을 추가할 수 있도록 변화하였다. 또한 다중상속 동작이라는 유연성을 제공해 하나의 클래스에 여러 디폴트 메소드를 상속받을 수 있게 되었다. 디폴트메소드가 쓰이는 시점 디폴트메소드는 주로 기존 공개된 API의 변경이 필요할 때이다. 이전에는 디폴트메소드가 없었기 때문에 인터페이스에 새기능을 추가하면 이를 implement받은 클래스가 모두 새로운 기능을 구현해야했는다. 하지만, 이렇게 되면 호환성 문제가 생기기 때문에 인터페이스 자체에서 기본으로 기능을 구현하여 제..
Stream Process 한 번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임으로 예로 들자면 공장 라인을 들 수 있다 한 작업장에서 작업물을 받아 다음 작업을 처리할 수 있도록 넘겨주는 것이다. 이때 각각의 작업장은 다른 업무를 처리하지만 전체적으로 보았을 때, 동시간에 작업을 처리하고 한 개의 작업물 만을 작업한다. ** 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 Stream예시) 입력 스트림은 데이터를 한 개씩 읽음 / 출력 스트림은 데이터를 한 개씩 기록 Stream API 스트림은 자바 8 API에 새로 추가된 기능으로 이를 이용하면 선언형으로 컬렉션 데이터를 처리할 수 있다. 기존 자바7에서 저칼로리의 요리명을 반환하고, 칼로리를 기준으로 요리를 정렬하는 코드이다. 이 ..