Page 20 -
P. 20
System.out은 객체이며, PrintStream 클래스의 인스턴스다. PrintStream 클래스에는 println, 1
print 등 메서드가 있다. 이런 메서드는 해당 클래스의 객체(인스턴스)에서 작동하므로 인스턴스
메서드(instance method)라고 한다. 기본 프로그래밍 구조
객체의 인스턴스 메서드를 호출하려면 점(.) 표기법(dot notation)을 사용해야 한다.
object.methodName(arguments)
이 예제에는 인수(argument)가 "Hello, World!" 문자열 하나뿐이다.
다른 예제로 메서드 호출을 연습해 보자. "Hello, World!" 같은 문자열은 String 클래스의 인스
턴스다. String 클래스에는 String 객체의 길이를 반환하는 length 메서드가 있다. 메서드를 호
출할 때도 점 표기법을 사용한다.
"Hello, World!".length()
"Hello, World!" 객체로 length 메서드를 호출했고, length 메서드는 인수를 받지 않는다. println
메서드와 달리 length 메서드는 결과를 반환한다. 이 결과를 이용하는 한 가지 방법은 출력이다.
System.out.println("Hello, World!".length());
한번 연습해 보자. 이 문장으로 자바 프로그램을 작성하고 실행해서 문자열의 길이가 얼마나 되는
지 알아보자.
자바는 객체 대부분을 생성(construct)해야 한다(System.out과 "Hello, World!" 객체는 바로 사용할
수 있게 미리 준비된 객체다). 간단한 예를 보자.
Random 클래스의 객체는 난수를 생성할 수 있다. Random 객체는 new 연산자로 생성한다.
new Random()
클래스 이름 뒤에는 생성 인수 목록이 온다. 이 예제의 인수 목록은 비어 있다. 생성된 객체의 메
서드를 다음과 같이 호출할 수 있다.
new Random().nextInt()
이 호출은 새로 생성한 난수 발생기가 주는 정수의 다음 번 정수를 돌려준다. 한 객체에서 메서드
를 두 번 이상 호출하려면 해당 객체를 변수에 저장해야 한다(1.3 변수 참고). 여기서는 난수 두 개
를 출력한다.
031
코어 자바 9(본문)최종.indd 31 2018-03-15 오전 11:31:00