[Java] static import를 사용하는 이유

nathan·2022년 2월 22일
0

JAVA

목록 보기
41/45

static import를 사용하는 이유

  • JUnit5를 이용한 단위 테스트 코드를 작성하던 중,
    assertj에 대해 import가 아닌 import static으로 패키지를 받아서 이용한다는 사실을 알게 되었다.

  • 여태껏 import만 사용해봤기 때문에 무슨 차이가 있는지 몰랐는데, 어떤 차이가 있길래 import static으로 사용이 되는 것일까?

  • 결론부터 말하자면, static import는 메소드나 변수를 패키지, 클래스 명을 기입할 필요 없이 접근 가능하다.
    따라서 코드가 훨씬 간결해보이고, 사용하기 편하다는 장점이 있다.


static import 사용 예시

import static java.lang.Math.*;
public class Main {
    public class StaticImportCase {
        public static void main(String[] args) {
            double rand1 = Math.random();
            double rand2 = random();
        }
    }
}
  • static import를 사용함으로써 random()으로만 적어도 사용이 가능하다.

JUnit에서 static import 사용 예시

import org.junit.jupiter.api.*;
import static org.assertj.core.api.Assertions.*;

class TempTest {
    static Calculator c;
    @BeforeEach
    void setUp() {
        c = new Calculator();
    }

    @AfterEach
    void nonStaticMethod() {
        Assertions.assertThat(c.add(2,3)).isEqualTo(3);
    }

    @Test
    void staticMethod() {
        assertThat(c.add(2,3)).isEqualTo(3);
    }
}
  • 테스트 의도를 한 눈에 파악할 수 있다.(가독성 up)
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글