E027: Varargs Parameter Must Come Last — 가변 인자 파라미터는 마지막에 와야 해요

E027: Varargs Parameter Must Come Last — 가변 인자 파라미터는 마지막에 와야 해요

가변 인자(varargs) 파라미터가 메서드의 파라미터 목록에서 마지막에 있지 않을 때 이 에러가 나와요. 즉, 가변 인자 뒤에 다른 파라미터를 두는 건 허용되지 않아요.

출처: Scala 3 Reference

본문

컴파일러 메시지는 이렇게 말해요. "varargs parameter must come last" — 가변 인자 파라미터는 마지막에 와야 한다는 거죠.

Scala에서 가변 인자 파라미터는 타입 뒤에 *를 붙여서 선언해요. 예를 들면 args: String*처럼요. 이 가변 인자 필드는 메서드 시그니처의 마지막 필드여야 해요. 가변 인자 필드 뒤에 필드를 정의하려고 하면 에러가 나요.

왜 이런 제약이 있을까요? 가변 인자는 런타임에 0개 이상의 인자를 받을 수 있거든요. 그래서 가변 인자 뒤에 다른 파라미터가 오면 호출 문법이 애매해질 수밖에 없어요.

더 알아보기 (Learn more)