본문 바로가기
Language/Java

자바 main 메소드에서 같은 클래스의 메소드를 객체화해야 호출할 수 있는 이유

by wakestand 2022. 1. 13.
반응형

예제 코드를 한번 보면

Test 클래스에서 method1을 만들어 놓고

method2와 main 메소드에서

해당 메소드(method1) 을 호출하려 하는데

 

method2에서는 그냥 호출이 되지만

메인 메소드에서는 그냥 호출하면 에러가 나고

Test 클래스를 객체화를 한 뒤에 호출이 가능한데

 

왜 이런 차이가 발생하냐면

자바 애플리케이션을 실행할 때

static 이 붙은 항목이 가장 먼저 정의되기 때문에

 

main 메소드가 정의되었을 시점에는

나머지 메소드가 정의되지 않았기 때문에

객체화를 한 뒤에 사용을 해줘야 하는건데

 

static 타입으로 메소드를 만들어 보면

동일한 시간대에 메소드가 정의되기 때문에

객체화를 하지 않고도

메소드를 사용할 수 있는 것이 보인다

반응형

댓글