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으로 처리하는 경우가 많음
- 클래스명.필드명 / 클래스명.메서드명() 형태로 접근