정적 메서드를 선언하기 위한 static

김하밍·2023년 7월 1일

CS 스터디

목록 보기
2/11

정적 메서드를 사용하는 이점

  • 객체의 인스턴스 생성 없이 바로 호출할 수 있으므로 편리하다.
  • 클래스 수준에서 호출되므로, 인스턴스 변수나 인스턴스 메서드에 종속되지 않는다.
  • 클래스의 인스턴스와 독립적으로 동작하므로 객체의 상태에 영향을 주지 않는다.
public static Coffee getCoffee(String type, int price) {
if ("Latte".equalsIgnoreCase(type)) return new Latte(price);
  1. 위의 코드에서는 static 메서드를 사용하여 객체 생성 없이도 호출할 수 있는 팩토리 메서드를 제공하기 위해 new 연산자 대신에 Latte 객체를 반환한다.

  2. static 메서드는 클래스 레벨에서 호출되며, 특정 객체의 인스턴스에 종속되지 않는다. 따라서 static 메서드 내에서는 인스턴스 변수나 인스턴스 메서드에 직접적으로 접근할 수 없다.

  3. 위의 코드에서 getCoffee 메서드는 type 매개변수를 기반으로 Latte 객체를 생성하여 반환하는 단순한 팩토리 메서드이다. 이 메서드는 Coffee 클래스의 인스턴스를 생성하지 않고도 호출할 수 있어야 한다. 따라서 static 키워드를 사용하여 getCoffee 메서드를 정적 메서드로 선언하였다.

profile
나만의 언어로 기록하며 성장하기 !

0개의 댓글