of 메서드는 자바와 다른 프로그래밍 언어에서 객체 생성에 사용되는 정적 팩토리 메서드의 일반적인 명명 규칙 중 하나입니다. 이 메서드는 특히 불변 객체나 컬렉션의 초기화에 자주 사용됩니다. of 메서드의 주요 특징과 사용 사례를 자세히 살펴보겠습니다.
of 메서드는 주어진 인자들을 사용하여 객체를 생성하고 반환하는 역할을 합니다. 이 메서드의 이름은 "이러한 요소들로 구성된 객체를 반환하라"라는 의미를 내포하고 있습니다.
of 메서드는 객체 생성의 의도를 명확하게 표현합니다.of 메서드를 제공할 수 있습니다.of 메서드는 불변 객체의 생성에 특히 유용합니다. 생성된 객체의 상태를 변경할 수 없게 만들어, 프로그램의 안정성을 높일 수 있습니다.Java 8 이후의 List, Set, Map 인터페이스에서는 of 메서드를 사용하여 불변 컬렉션을 생성할 수 있습니다.
List<String> list = List.of("A", "B", "C");
Set<String> set = Set.of("A", "B", "C");
Map<String, Integer> map = Map.of("A", 1, "B", 2);
public class Point {
private final int x;
private final int y;
private Point(int x, int y) {
this.x = x;
this.y = y;
}
public static Point of(int x, int y) {
return new Point(x, y);
}
}
위의 예에서 Point 클래스는 of 메서드를 통해 객체를 생성하고 반환합니다. 이를 통해 사용자는 Point.of(1, 2)와 같은 방식으로 객체를 생성할 수 있습니다.
of 메서드를 사용할 때는 반환되는 객체의 불변성을 보장하는 것이 좋습니다. 이렇게 하면 사용자는 of 메서드를 통해 생성된 객체가 변경되지 않을 것이라는 확신을 가질 수 있습니다.of 메서드는 주로 불변 객체나 컬렉션의 초기화에 사용되므로, 객체의 상태를 변경하는 연산에는 사용하지 않는 것이 좋습니다.of 메서드는 객체 생성의 의도를 명확하게 표현하는 정적 팩토리 메서드의 일반적인 명명 규칙입니다. 이 메서드를 사용하면 코드의 가독성을 높이고, 객체의 불변성을 쉽게 보장할 수 있습니다.