Dev/Java

Calendar 클래스 사용 - Non-static method cannot be referenced from a static context

healthyryu 2018. 3. 2. 11:54



Date 클래스를 이용한 getDate(), getYear() 이용하고 싶었습니다. 그러나 IDE 상에서 관련 함수들이 전부 Deprecated 되어있었습니다. 조금 찾아보니, Date 클래스는 모든 국가에 사용하기에 적합하지 않기에 JDK1.1 이후부터는 Calendar 클래스를 제공한다고 문서에 나와있습니다. 


그래서 Calendar 를 사용해서 Calendar.get(Calendar.YEAR); 를 했는데 아래와 같이 경고 문구가 나왔습니다.

Non-static method cannot be referenced from a static context

참고 : https://stackoverflow.com/questions/4922145/non-static-method-cannot-be-referenced-from-a-static-context-error


Calendar 클래스는 추상클래스이기 때문에 getInstance() 로 가져와야 한다. 그런데 나는 기본적으로 추상클래스를 생각하기 전에 기본 클래스라는 관점도 잊어버리고 new Object() 도 안했을기에 위와 같은 경고 문구를 확인할 수 있었다.


즉, 아래와 같이 가져올 수 있다.

Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

위와같이 간단하게 현재의 연도를 가져올 수 있다.


반응형

'Dev > Java' 카테고리의 다른 글

스페이스 도 정규식이 있다?!  (0) 2018.09.10
[Sunday Study] RxJava  (0) 2018.02.11
디자인 패턴 - Strategy Pattern  (0) 2018.01.02
for문에서 변수명 이렇게 쓰지마라!!  (0) 2017.11.14
Java - Random 메소드 사용  (0) 2017.11.06