We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
람다를 필드에 저장하면 좋다는 내용이 있었습니다 (p.313)
public class CounterExampleWithLambdaField { private int counter = 0; private final Supplier<Integer> counterLambda = () -> { return ++counter; }; public int getNextCounterValue() { return counterLambda.get(); } public static void main(String[] args) { CounterExampleWithLambdaField example = new CounterExampleWithLambdaField(); System.out.println(example.getNextCounterValue()); // 1 System.out.println(example.getNextCounterValue()); // 2 System.out.println(example.getNextCounterValue()); // 3 } }
vs
public class CounterExample { private int counter = 0; public int getNextCounterValue() { return ++counter; } public static void main(String[] args) { CounterExample example = new CounterExample(); System.out.println(example.getNextCounterValue()); // 1 System.out.println(example.getNextCounterValue()); // 2 System.out.println(example.getNextCounterValue()); // 3 } }
전자가 좋은지 저는 잘 모르겠네요 🤔 counter를 증가시키는 예시라서 안 와닿는 것 같기도 합니다만, 행위를 상태로 가지는 객체는 잘 모르겠습니다
생각나는 예시가 있다면 알려주세요
람다를 필드에 저장했을 경우 장점
재사용성
람다를 필드에 저장하면 여러 메서드에서 같은 람다식을 재사용할 수 있습니다. 이는 코드 중복을 줄이고 유지보수를 쉽게 합니다.
상태 유지
람다식이 상태를 갖고 있어야 하거나, 람다식 내부에서 사용하는 변수를 필드에서 관리해야 하는 경우 유용합니다. 필드에 저장된 람다는 클래스의 상태와 연동될 수 있습니다.
캡슐화
특정 동작을 클래스 내부로 캡슐화하여 외부에서 접근하지 못하게 할 수 있습니다. 필드에 저장된 람다는 해당 클래스 내에서만 사용되므로, 클래스 외부에서는 람다식의 구현을 알 필요가 없습니다.
The text was updated successfully, but these errors were encountered:
ay-eonii
No branches or pull requests
무엇이 어려웠나요?
람다를 필드에 저장하면 좋다는 내용이 있었습니다 (p.313)
vs
전자가 좋은지 저는 잘 모르겠네요 🤔
counter를 증가시키는 예시라서 안 와닿는 것 같기도 합니다만,
행위를 상태로 가지는 객체는 잘 모르겠습니다
생각나는 예시가 있다면 알려주세요
해당 문제에 대해 본인이 알고 있는 부분을 작성해주세요.
람다를 필드에 저장했을 경우 장점
재사용성
람다를 필드에 저장하면 여러 메서드에서 같은 람다식을 재사용할 수 있습니다. 이는 코드 중복을 줄이고 유지보수를 쉽게 합니다.
상태 유지
람다식이 상태를 갖고 있어야 하거나, 람다식 내부에서 사용하는 변수를 필드에서 관리해야 하는 경우 유용합니다. 필드에 저장된 람다는 클래스의 상태와 연동될 수 있습니다.
캡슐화
특정 동작을 클래스 내부로 캡슐화하여 외부에서 접근하지 못하게 할 수 있습니다. 필드에 저장된 람다는 해당 클래스 내에서만 사용되므로, 클래스 외부에서는 람다식의 구현을 알 필요가 없습니다.
The text was updated successfully, but these errors were encountered: