Scala에 명시적인 기본 생성자가없는 경우 클래스 본문의 내용 만 궁금합니다.
특히, 개인 또는 보호 된 생성자 패턴, 즉 컴패니언 객체 또는 다른 클래스 또는 객체의 메서드를 통해 생성을 제어하는 것은 명백한 구현이 없을 수 있다고 생각합니다.
내가 잘못? 그렇다면 어떻게 수행됩니까?
당신은 Scala 싱글 톤 (object 키워드, 즉)을 가질 수 있고, 당신의 클래스를 그 싱글 톤 내에서 private으로 정의 할 수 있고, 당신의 객체를 생성하기위한 싱글 톤의 메소드를 가질 수 있습니다.
—
Paggas
@Paggas, 불행히도 범위를 벗어난 비공개로 표시된 클래스의 인스턴스를 반환하면 해당 범위의 컴패니언 개체에있는 메서드에서 반환 된 경우에도 컴파일되지 않습니다.
—
Don Mackenzie
이것은 Scalaz 소스 코드 전체에서 상당히 많이 수행됩니다. 이 개념은 추상 대수 데이터 유형 이라고도 합니다.
—
토니 모리스