o-ohi-code 님의 블로그

[Java] 메서드 체이닝이란? 본문

카테고리 없음

[Java] 메서드 체이닝이란?

o-ohi-code 2025. 4. 4. 22:16

메서드 체이닝

여러 개의 메서드한 줄로 이어서 호출하는 방식을 말한다.
각 메서드가 자기 자신(this)을 리턴하기 때문에 가능하다.

메서드 체이닝 없는 방식 ❌ (일반적인 호출)

StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("Java");
System.out.println(sb.toString());

메서드 체이닝 방식

String result = new StringBuilder()
    .append("Hello")
    .append(" ")
    .append("Java")
    .toString();

System.out.println(result);  // 👉 Hello Java
  • 이게 메서드 체이닝 이다.
  • append() 가 매번 this 를 리턴하기 때문에
  • 다음 메서드를 계속 .찍어서 연결할 수 있다.

단 return this  가 핵심으로, 메서드 안에 이 코드가 있어야 가능하다.

public StringBuilder append(String str) {
    this.value += str;
    return this; // ← 이거 덕분에 체이닝 가능!
}

Builder 패턴에서 체이닝 예시

Emp emp = Emp.builder()
    .empCode("E001")
    .name("영웅")
    .dept("개발팀")
    .build();

=> 이게 내부적으로 다 return this; 덕분에 줄줄이 이어지게 된다.