Java/자바 정리

48. static 필드와 static 메서드

코딩하는냥이 2025. 4. 28. 15:02
반응형

이번 글에서는 클래스에 소속되어 객체 생성 없이 사용할 수 있는
static(정적) 필드static 메서드를 학습합니다.
공통적으로 사용하는 데이터나 기능은 static으로 선언하여 메모리 효율을 높일 수 있습니다.


📦 클래스 코드 (Calculator.java)

package ch06.sec10.exam01;

public class Calculator {
	static double pi = 3.14159;

	static int plus(int x, int y) {
		return x + y;
	}

	static int minus(int x, int y) {
		return x - y;
	}
}

📌 실행 코드 (CalculatorExample.java)

package ch06.sec10.exam01;

public class CalculatorExample {
	public static void main(String[] args) {
		double re1 = 10 * 10 * Calculator.pi;
		int re2 = Calculator.plus(10, 5);
		int re3 = Calculator.minus(10, 5);

		System.out.println("result1 : " + re1);
		System.out.println("result2 : " + re2);
		System.out.println("result3 : " + re3);
	}
}

💬 코드 설명

  • static double pi
    → 원의 넓이 계산 등에 사용할 공통 상수 값
  • static int plus(int x, int y)
    → 두 수의 합을 반환하는 정적 메서드
  • static int minus(int x, int y)
    → 두 수의 차를 반환하는 정적 메서드
  • 모든 static 멤버는 클래스 이름으로 바로 접근 가능
    (Calculator.pi, Calculator.plus(), Calculator.minus())

💻 실행 결과

result1 : 314.159
result2 : 15
result3 : 5

📌 간단 정리

static 멤버 설명
pi 원주율 상수값 (3.14159)
plus(x, y) 두 수의 합계 반환
minus(x, y) 두 수의 차이 반환

💡 포인트 정리

  • static 키워드를 붙이면 객체 생성 없이 클래스 이름으로 직접 사용 가능
  • static 필드는 모든 객체가 공유하는 하나의 값
  • static 메서드는 객체 상태와 무관한 기능을 제공할 때 사용
  • 예를 들어 수학 계산, 공용 설정값 등은 static으로 처리하는 경우가 많음
  • 클래스명.필드명 / 클래스명.메서드명() 형태로 접근