728x90
반응형
SMALL
SMALL
이번에는 굉장히 자주 사용되는 방식 중 하나인 메서드 체이닝에 대해 알아봤다.
대표적인 예시 중 하나가 StringBuilder, QueryDSL같은 라이브러리나 모듈이 이 기법을 사용하고 그 외 여러 라이브러리에서도 많이 사용하는 방법이다. 간단하다.
다음 코드를 보자.
Value
public class Value {
private int value;
public Value(int value) {
this.value = value;
}
public Value add(int value) {
this.value += value;
return this;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
항상 만들어왔던 클래스처럼 생겼는데 add() 메서드를 보자. 반환 타입이 같은 클래스 타입이다. 그리고 자기 자신을 반환하고 있다.
이렇게 만들어 놓으면 메서드 체이닝이 가능해진다. 직접 사용해보자.
Main
public class Main {
public static void main(String[] args) {
Value data = new Value(10);
data.add(1).add(2).add(7);
System.out.println("data = " + data.getValue());
}
}
위 코드에서 이 부분을 자세히 봐야한다.
data.add(1).add(2).add(7);
메서드에 메서드를 계속 추가하고 있다. 이게 가능한 이유는 add() 메서드가 반환하는 것이 자기 자신이기 때문이다. 그리고 이 코드의 실행결과는 다음과 같다.
실행 결과:
data = 20
이렇게 메서드를 계속 이어가서 사용하는 방식을 메서드 체이닝이라고 한다.
728x90
반응형
LIST
'JAVA의 가장 기본이 되는 내용' 카테고리의 다른 글
Class 클래스 (0) | 2024.04.03 |
---|---|
Wrapper Class (0) | 2024.04.02 |
String 클래스 (0) | 2024.04.01 |
불변객체 (Immutable Object) (2) | 2024.04.01 |
java.lang 패키지와 그 첫번째 - Object (0) | 2024.03.31 |