728x90 익명 클래스2 Item 42. 익명 클래스보다는 람다를 사용하라 예전에는 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스를 사용했고 이런 인터페이스의 인스턴스를 함수 객체(function object)라 해서, 특정 함수나 동작을 나타내는대 사용했다. 함수 객체를 만드는 방식으로는 익명 클래스를 주로 사용했다. 하지만 익명 클래스는 너무 길기 때문에 함수형 프로그래밍에 적합하지 않았다. 자바 8에 와서야 람다가 도입되 함수 객체를 람다를 통해 짧은 길이로도 만들 수 있게 되었다. 람다는 함수나 익명 클래스와 개념은 비슷하지만 코드는 훨신 간결하다. 람다의 매개변수와 반환값은 컴파일러가 타입 추론을 사용해 추론하기 때문에 통상적인 상황에서는 타입을 명시하지 않아도 된다. 그럼에도 타입을 명시해야 코드가 더 명확할 때에는 타입을 명시해야 한다. 람다.. 2022. 3. 12. 2장. 동작 파라미터화 코드 전달하기 소비자 요구사항은 항상 바뀐다. 따라서 변경에 대한 비용을 최소화 하고 기능 추가가 용이해야 한다. 동작 파라미터화(behavior parameterization)를 사용하면 바뀌는 요구사항에 효과적 대응이 가능하다. 동작 파라미터화란 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드 블록의 실행을 나중으로 미뤄진다. 따라서 코드 블록에 따라 메서드의 동작이 파라미터화 된다. 동작 파라미터화 사과를 무게 또는 색으로 필터하는 기능이 있다고 해보자. 이 기능은 다음과 같이 구현될 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 public static List filterAplles(List inventory, Color, color, int weight, bool.. 2022. 2. 13. 이전 1 다음 728x90