Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java의 클래스(정적) 메서드란? 개념부터 예제까지 한눈에 이해하기

Java에서 클래스(Class)/정적(Static) 메서드는 특정 객체 인스턴스가 아닌 클래스 자체에 호출되는 메서드를 의미합니다. static 키워드를 사용하면 해당 구현이 모든 클래스 인스턴스에서 동일하게 유지됩니다.

클래스/정적 메서드는 객체 생성(instantiation) 없이 호출할 수 있다는 것이 가장 큰 특징입니다. 따라서 정적 메서드 내부에서는 같은 클래스의 다른 정적 멤버(static members)만 직접 접근할 수 있습니다.

Java에는 이미 많은 내장 정적 메서드가 존재하는데, 대표적으로 Math.random(), Math.sqrt(), System.gc() 등이 있습니다.

정적 메서드 선언 문법

public class className {
  modifier static dataType methodName(inputParameters) {
    // 실행할 코드 블록
  }
}

예제 코드

public class ClassMethodTest {
   public static int findMinimum(int num1, int num2) {
      int minimum = num2;
      if (num1 < num2)
         minimum = num1;
      return minimum;
   }
   public static void main(String args[]) {
      int min = ClassMethodTest.findMinimum(3, 5); // 인스턴스 생성 없이 클래스 이름으로 직접 호출
      System.out.println("ClassMethodTest.findMinimum(3, 5) is: " + min);
   }
}

실행 결과

ClassMethodTest.findMinimum(3, 5) is : 3

핵심 정리

  • 정적 메서드는 클래스 이름으로 직접 호출하므로 객체 생성이 필요 없습니다.
  • static으로 선언된 멤버는 모든 인스턴스가 공유하며 프로그램 실행 시 메모리에 로드됩니다.
  • 정적 메서드 안에서는 비정적(non-static) 필드나 메서드에 직접 접근할 수 없습니다.
  • 유틸리티 성격의 기능(수학 계산, 문자열 처리 등)을 만들 때 정적 메서드를 활용하면 효율적입니다.