본문 바로가기

Programming/프로그래밍 내용 정리

System.out.println()의 원리가 무엇인가요?

🎈 System.out.println()은 세 부분으로 나눌 수 있다.

 

[ System ]

 

  •  System은 java.lang 패키지의 마지막 클래스이며 JVM이 시작될 때 자동으로 초기화된다. 
  • 자바 프로그램은 운영체제상에서 바로 실행되는 것이 아니라 JVM 위에서 실행된다.
  • 따라서, 운영체제의 모든 기능을 자바 코드로 직접 접근하기 어렵다.
  • 하지만 System클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있다.

 

  • System 클래스는 운영체제 시스템과 관련된 기능을 제공하는 클래스이며,
  • 모든 멤버가 기본 static이기 때문에 별도의 인스턴스 객체를 생성할 필요가 없다.  
  • 표준 입출력 관리와, 환경 변수 접근, 시스템 속성 , 현재 ms / ns 시각 확인 , 객체 복사 등에 사용된다.

 

[ out ]

 

 

  • System 클래스는 PrintStream 클래스의 인스턴스를 포함한다.
  •  이 인스턴스 변수를 out이라고 한다. public, static  final 수식어로 정의된다. 

 

[ println() ]

 

  • PrintStream 클래스에는 print() 및 println() 메서드가 포함되어 있다. 이러한 메서드는 오버로드된다.

 

 

System.out은 PrintStream 클래스의 out 인스턴스 변수를 제공한다.

그런 다음 이 인스턴스 변수에서 print() 또는 println() 메서드를 호출할 수 있다.

 

 


System.out.println() 특징 

 

  • PrintStream 클래스에는 오버로드된 print() 및 println() 메소드가 여러 개 포함되어 있다.
  • 허용되는 매개변수는 유형이 다르다.
  • 모두 반환 유형이 void이다.
  • 모든 기본 유형에 대해 오버로드된 메소드가 존재한다.

 

 

(예시) 오버로드 된 println() 메소드