다양한 방식의 Hello World!!!
2. 보다 다양한 Hello World!!!
이번에는 보다 다양한 형태의 Hello World의 예제를 살펴보겠습니다. 되도록 Java의 특성이 드러나도록 하겠습니다.
public class HelloWorld2 {
public HelloWorld2(String msg) {
System.out.println(msg);
}
public static void main(String[] args) {
String str = "Hello World!!!";
HelloWorld2 hw2 = new HelloWorld2(str);
}
}
위의 코드는 이전 회의 코드와 비슷하지만 약간은 달라져 있는 것을 알 수 있습니다.
일단 클래스 안에 생성자가 추가되어 있습니다. 생성자란? 클래스를 인스턴스화 시켜주는 메소드 인데 쉬게 말해 어떠한 클래스를 메모리상(Heap)에 상주시켜주는 역할을 수행한다고 보면 됩니다. 보통은 new 키워드로 생성자를 호출하게 되면 해당 클래스를 개발자가 참조할 수 있는 형태의 인스턴스가 되게 됩니다. 위에서는 생성된 인스턴스를 hw2라는 변수에 입력해 놓고 있네요.
public class HelloWorld3 {
String msg;
public HelloWorld3(String msg) {
this.msg = msg;
printStdIO();
}
public void printStdIO() {
System.out.println(this.msg);
}
public static void main(String[] args) {
String str = "Hello World!!!";
HelloWorld2 hw2 = new HelloWorld2(str);
}
}
위 코드는 클래스에서 드러날 수 있는 대부분의 형식을 갖추었습니다. 일단 3라인에서 String 이라는 객체형의 멤버 변수 msg를 선언하고 있고 그 아래 생성자에서 msg형의 변수를 인자로 받아 멤버변수에 설정하고 있습니다. 또한 생성자의 마지막 부분에서 표준 입출력으로 Hello World!!!를 출력하는 메서드를 호출하고 있습니다. 위에서 표준 입출력으로 출력하는 메서드(함수)는 멤버함수로 클래스는 기본적으로 생성자, 멤버변수와 멤버메소드 등으로 구성됩니다.
댓글
댓글 쓰기