ㅇSystem 클래스: Java 프로그램 기본 시스템 기능에 접근할 수 있는 유틸리티 클래스
e.g. 자바 프로그램의 표준 입력, 표준 출력, 시스템 속성, 환경 변수, 시간 측정 등의 기능을 제공
※ 이 클래스는 상속할 수 없으며, 모든 메서드와 필드는 정적(static)으로 선언되어 있어 객체를 생성하지 않고 사용할 수 있다
(예시 코드)
package lang.system;
import java.util.Arrays;
public class SystemMain {
public static void main(String[] args) {
// 현재 시간(ms)을 가져온다
long currentTimeMillis = System.currentTimeMillis();
System.out.println("currentTimeMillis: " + currentTimeMillis);
// 현재 시간(ns)을 가져온다
long currentTimeNano = System.nanoTime();
System.out.println("currentTimeMillis: " + currentTimeNano);
// 환경 변수를 읽는다 (OS)
System.out.println("getenv = " + System.getenv());
// 시스템 속성을 읽는다 (Java)
System.out.println("properties = " + System.getProperties());
System.out.println("Java version: " + System.getProperty("java.version"));
// 배열을 고속으로 복사한다 (OS한테 넘겨서 HW와 직통 작업 - 수 배 이상 빠른 성능)
char[] originalArray = new char[]{'h', 'e', 'l', 'l', 'o'};
char[] copiedArray = new char[5];
System.arraycopy(originalArray, 0, copiedArray, 0, originalArray.length);
// 배열 출력
System.out.println("copiedArray = " + copiedArray);
System.out.println("Arrays.toString = " + Arrays.toString(copiedArray));
// 프로그램 종료
System.exit(0);
}
}
(참고)
우리가 흔히 쓰는 System.out.println() 메서드가 바로 이 System 클래스다
- System.out: 표준 출력 스트림을 나타내는 PrintStream 객체, 일반적으로 콘솔에 출력하는 데 사용된다
참고 및 출처: 김영한의 실전 자바 - 중급 1편
'Language > Java' 카테고리의 다른 글
[Java API] enum 주요 메서드 정리 (0) | 2024.08.24 |
---|---|
[Java API] Math 클래스, Random 클래스 (0) | 2024.08.23 |
[Java API] Class 클래스 (0) | 2024.08.23 |
[Java API] 래퍼 클래스(Wrapper Class) (0) | 2024.08.22 |
[Java API] StringBuilder 클래스 (0) | 2024.08.22 |