NOTE
클래스를 인스턴스화하지 않았다.
클래스를 인스턴스화하지 않는다는 의미를 보충 설명하겠습니다. 다음은 main 메서드의 기본 형식입니다.
public static void main(String[] args) { }
지금까지 정의한 모든 메서드는 메서드를 실행하기 위해,
1. 클래스의 인스턴스를 생성하고
2. 인스턴스를 통해 클래스를 호출했습니다.
main도 메서드인데, main 메서드는 이런 과정을 거치지 않았습니다.
class CodeRunner{
// 직접 정의한 메서드 myPrint
public void myPrint() {
System.out.println("안녕!");
}
public static void main(String[] args) {
/* myPrint 메서드를 호출하기 위해서는
CodeRunner 클래스에 인스턴스를 생성하고,
인스턴스에 점을 찍어 myPrint에 접근합니다 */
CodeRunner codeRunner = new CodeRunner(); // 인스턴스 생성
codeRunner.myPrint(); // 메서드 호출
/*그런데 메인 메서드는 메인 메서드를 위해 따로 인스턴스를 생성한 적이 없고,
또 codeRunner.main()과 같이 메서드를 호출한 적도 없습니다*/
}
}
즉, 클래스를 인스턴스화하지 않고 사용해왔습니다.