JAVA의 가장 기본이 되는 내용

Method Chaining

cwchoiit 2024. 4. 2. 15:39
728x90
반응형
SMALL
728x90
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