IT/Programming
<Effective Java> RULE 21 전략을 표현하고 싶을 때는 함수 객체를 사용하라
특정 함수를 호출할 수 있는 능력을 저장하고 전달할 수 있도록하는 함수포인터, 대리자, 람다표현식같은 것 들이 있다. 이런 기능은 보통 함수의 인자로 함수를 전달하기 위해 사용되며 호출된 함수의 기능을 변경하는 구실도 한다. 자바는 함수 포인터를 지원하지 않는다. 하지만 객체 참조를 통해 비슷한 효과를 달성할 수 있다. 객체의 메서드는 보통 호출 대상 객체에 뭔가를 한다. 하지만 다른 객체에 작용하는 메서드, 인자로 전달된 객체에 뭔가를 하는 메서드를 정의하는 것도 가능하다. 이런 객체를 함수 객체라고 한다. class StringLengthComparator{ public int compare(String s1, String s2){ return s1.length() - s2.length(); } } ..
2023. 4. 27. 09:31