AbstractTypeVisitor9 — 타입 방문자의 뼈대 클래스

AbstractTypeVisitor9 — 타입 방문자의 뼈대 클래스 (RELEASE_9~14)

타입을 순회하는 방문자의 뼈대 구현 중에서도 비교적 최신 버전인 클래스예요. AbstractTypeVisitor9RELEASE_9부터 RELEASE_14까지의 소스 버전에 맞는 기본 동작을 갖춘 뼈대 타입 방문자예요. 자바 9에서 14에 이르는 언어/타입 구조를 폭넓게 커버하죠.

이전 버전인 AbstractTypeVisitor8이 자바 8까지만 다루는 것과 달리, 이 클래스는 훨씬 더 최신의 타입 구조까지 기본 처리해요. 관심 있는 타입만 오버라이드하려는 목적은 동일해요.

출처: Java API Reference

본문

클래스 선언은 다음과 같아요.

public abstract class AbstractTypeVisitor9<R,P>
extends Object
implements TypeVisitor<R,P>
  • R — 방문 메서드가 반환하는 값의 타입.
  • P — 방문 메서드에 추가로 전달되는 파라미터 타입.

이 클래스는 RELEASE_9부터 RELEASE_14까지의 소스 버전에 해당하는 타입 방문 메서드를 구현해요. 자바 14 이후에 추가된 더 새로운 타입 구조가 있다면 그것은 visitUnknown으로 처리돼요.

방문자 패턴에서 뼈대 클래스의 가치는 기본 동작 + 확장 지점이에요. AbstractTypeVisitor9를 상속받아 필요한 메서드만 재정의하면, 나머지 타입은 기본 처리를 그대로 따르게 되죠. 그래서 반복적인 보일러플레이트 코드를 크게 줄일 수 있어요.

이 클래스는 javax.lang.model.util 패키지에 속하며, 실제 소스 버전이 자바 9 이후라면 이 클래스를 쓰는 것이 가장 적합해요. 자바 21 환경에서는 기본적으로 이 시리즈의 최신 뼈대 클래스를 활용하게 됩니다.

더 알아보기 (Learn more)