[Java] System 클래스: currentTimeMillis(), nanoTime() 메소드 알아보기

김하밍·2024년 3월 12일

Java

목록 보기
31/46

System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있습니다.
(프로그램 종료, 키보드로부터 입력, 모니터로 출력, 현재 시간 읽기 등)

System 클래스의 모든 필드와 메소드는 static(정적)으로 구성되어 있습니다.

  1. exit()
  2. currentTimeMillis(), nanoTime()

exit() : 프로그램 종료

  • exit() 메소드int형 매개값을 지정하도록 되어 있는데, 이 값은 종료 상태값 이라고 부릅니다.
  • 해당 메소드가 호출되면 내부적으로 정리할 것들을 모두 정리한 후 종료하기 때문에 강제 종료가 아닌 정상적인 종료 방법입니다.
  • main() 메소드가 끝나는 것과 같다고 볼 수 있습니다.
  • 단, 0 이외의 수가 들어가면 정상 종료가 아닌 것으로 판정됩니다.

다음 예제는 for문이 10번 반복하다가 i가 5가 되면 System.exit(0) 가 실행되어 프로그램(JVM)을 종료합니다.

public class ExitExample {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 5) {
                System.exit(0);
//                 break;
            }
        }
        System.out.println("마무리 코드");
    }
}

currentTimeMillis(), nanoTime() : 현재 시각 읽기

  • 컴퓨터의 시계로부터 현재 시간을 읽어서 밀리세컨드(1/1000초) 단위와 나노세컨드(1/10의 9승) 단위의 long 값을 리턴합니다.
  • 프로그램 시작 시 시각을 읽고, 프로그램이 끝날 때 시각을 읽어서 차이를 구하면 프로그램 실행 소요 시간을 알 수 있습니다.
long time = System.currentTimeMillis();
long time = System.nanoTime();
profile
나만의 언어로 기록하며 성장하기 !

0개의 댓글