Java Category/Java

[Java] static import

ReBugs 2024. 1. 23.

static import는 클래스의 정적 멤버(메서드와 필드)를 클래스 이름 없이 직접 사용할 수 있도록 해준다.

이를 통해 코드의 가독성을 높일 수 있지만, 과도하게 사용할 경우 어느 클래스에서 메서드나 필드가 정의되었는지 혼란을 줄 수 있다.

 

예를들어, static import를 사용하지 않는 경우, 예를 들어 Math 클래스의 sqrt 메서드를 사용하려면 클래스 이름을 명시해야 한다.

double result = Math.sqrt(25);  // Math 클래스의 sqrt 메서드 사용

 

static import를 사용하면, 메서드를 클래스 이름 없이 직접 호출할 수 있다

import static java.lang.Math.sqrt;

...

double result = sqrt(25);  // Math.sqrt가 아닌 sqrt만으로 호출

 주의해야 할 것은 같은 클래스 내에 동일한 이름의 메소드가 있으면 클래스 자신의 메소드가 우선시 된다.

 

클래스내의 모든 정적 메소드를 import 하려면 다음과 같이 사용할 수 있다.

import static java.lang.Math.*;

하지만 일반적으로 import 에 * 를 사용하는 것은 권장 되지 않는다.

정적 메소드외에 정적 멤버 변수도 static import 의 대상이 된다.

import static java.lang.Math.PI;
System.out.println(PI);

static import는 특히 자주 사용하는 유틸리티 클래스나 상수 집합에 유용하다.

하지만, 너무 많은 정적 임포트는 코드의 명확성을 해칠 수 있으므로 적절히 사용하는 것이 중요하다.

댓글