exit() 메소드 호출하여 JVM을 강제 종료
exit() 메소드가 지정하는 int 매개값을 종료 상태값이라 함
public class SystemTimeExample {
public static void main(String[] args) {
long time1 = System.nanoTime(); //시작시간 읽기
int sum = 0;
for (int i = 1; i < 1000000; i++) {
sum += 1;
}
long time2 = System.nanoTime(); //끝 시간 읽기
System.out.println("1~1000000까지의 합: " + sum);
System.out.println("계산에 " + (time2-time1) + " 나노초가 소요되었습니다.");
}
}
1~1000000까지의 합: 999999
계산에 890500 나노초가 소요되었습니다.
리플렉션 (Reflection)이란?
리플렉션은 구체적인 클래스 타입을 알지 못해서 그 클래스의 메소드와 타입 그리고 변수들을 접근할 수 있도록 해주는 자바 API입니다.
의문점 : 내가 짠 코든데 내가 만든 클래스의 이름도 모르는게 말이되?
→ 가끔 어떤 타입의 클래스나 변수 혹은 메소드를 사용할지 모르는 경우가 생깁니다.
(예를 들어 변수의 값을 조건에 따라서 다르게 사용해야하는 경우라던가,
어플리케이션이 실행되고 나서 생성되는 클래스인 경우엔 리플렉션을 사용할 수 있다.)
→ 일반적인 class파일은 안을 못보는데 Reflection을 사용하면 어떠한 private 필드가 들어있는 class파일 안을 볼 수 있다.
방법 :
클래스로부터 얻는 방법
Class claszz = 클래스이름.class
Class clazz = Class.forName(”패키지…클래스이름”)