더북(TheBook)

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()과 같이 메서드를 호출한 적도 없습니다*/
    }
}

즉, 클래스를 인스턴스화하지 않고 사용해왔습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.