반응형

Dev/Java 13

동작 파라미터화 코드 전달하기 (마지막)

복잡한 과정 최소화 동작 파라미터화 코드 전달하기 (2) 처럼 사과를 필터링 하는 새로운 조건이 필요할때마다 클래스를 구현해야 한다는건 상당히 번거로운 작업이며 시간 낭비이다. 심지어 만들어둔 클래스를 나중에 가서 사용하지 않는다면 재활용도 안되는 쓰레기코드,,는 말이 너무 심하고 ! 하여튼 이러한 번거러움을 개선하기 위해 자바는 클래스의 선언과 인스턴스화를 동시에 수행할 수 있도록 익명 클래스 라는 기법을 제공한다. 익명 클래스를 이용하면 코드의 양은 줄일 수 있지만 익명 클래스가 모든 것을 해결하는 것은 아니다. 이번 챕터의 궁극적인 목표인 람다 표현식을 사용해서 더 가독성 있는 코드를 구현하는 방법을 알아보자. 다섯 번째 시도 : 익명 클래스 사용 List redApples = filterApple..

Dev/Java 2022.05.29

동작 파라미터화 코드 전달하기 (2)

동작 파라미터화 코드 전달하기 (1)에서 파라미터를 추가하는 방법이 아닌 변화하는 요구사항에 좀 더 유연하게 대응 할 수 있는 방법이 절실함을 확인 했다. 사과의 어떤 속성에 기초해서 불리언값을 반환 하는 방법이 있다. 참 또는 거짓을 반환하는 함수를 프리디케이트 라고 한다. 선택 조건을 결정하는 인터페이스를 정의해보자! public interface ApplePredicate { boolean test (Apple apple); }선택 조건을 대표하는 여러 버전의 ApplePredicate를 정의 해보자! Public class AppleHeavyWeightPredicate implements ApplePredicate { public boolean test(Apple apple){ return app..

Dev/Java 2022.05.26

동작 파라미터화 코드 전달하기 (1)

개요 우리가 어떤 상황에서 일을 하든 소비자 요구사항은 항상 바뀐다. 변화하는 요구사항은 소프트웨어 엔지니어링에서 피할 수 없는 문제다. 시시각각 변하는 사용자 요구 사항에 어떻게 대응해야 할까? 특히 우리의 엔지니어링적인 비용이 가장 최소화 될 수 있으면 좋을 것이다. 그뿐 아니라 새로 추가한 기능은 쉽게 구현할 수 있어야 하며 장기적인 관점에서 유지보수가 쉬어야 한다. 동작 파라미터화(Behavior Parameterization 을 이용하면 자주 바뀌는 요구사항에 효과적으로 대응 할 수 있다. 동작 파라미터화란 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드 블록은 나중에 프로그램에서 호출한다. 즉, 코드 블록의 실행은 나중으로 미뤄진다. 예를들어 나중에 실행될 메서드의 ..

Dev/Java 2022.05.20
반응형