본문 바로가기
IT/Programming

public static void main(String args[])

by Jany 2009. 4. 1.
반응형

public : 클래스의 안이든 바깥이든 어디에서나 이 main메소드가 호출될 수 있음을 뜻한다. 접근 제한자에 대한 자 세한 것은 문법 메뉴를 참고하시면 많은 정보를 얻을 수 있다.

static : mian()메소드가 메모리에 인스턴스되는 공간의 주소가 모두 똑같음을 나타냅니다.

프로그래밍을 처음 시작 하시는 분들이라면 이 static이라는 키워드의 기능에 대해 이해하기가 좀 어려울 것입니다. 지금부터 제가 설명하는 것을 자세히 읽어 보시면 왠만큼 이해는 될 것입니다. static키워드는 매번 자바 언어에서 객체들 이 생성되고 이용되는 과정에서 메모리의 기억 장소를 이용합니다. 매번 객체들이 생기고 저장되고 참조하는 과정들이 무진장 일어나죠. 그래서 메모리를 많이 잡아 먹게 됩니다. 이런 메모리 점유를 조금이나마 줄이고 수행 속도의 증가를 위해 static키워드를 지정함으로서 static으로 지정된 객체나 메소드에 대해서는 메모리의 똑 같은 자리(주소)를 계속해서 사용하므로 메모리의 낭비를 막을 수 있습니다. 그러나 주의하실 점은 이런 객체나 메소드는 정적으로 이용되므로 같은 static객체나 메소드에 의해 호출이 되며, 클래스의 초기 화시 맨 처음으로 메모리에 적재됩니다.


void : C언어나 C++언어를 해보신 분들이라면 지겹도록 많이 보았을 키워드지요. 자바에서 void의 기능은 이 메소드 여기에서는 main()메소드의 안에서 작업을 처리하고 main을 호출한 호출자에게 반환한(리턴값) 결과값이 아무 것도 없다는 것을 의미합니다.

main(String args[]) : main()메소드는 모든 자바 애플리케이션 프로그램에 꼭 들어가야 하는 문장이며, 캄파일하여 실행시킬 경우 자바 런타임 인터프리터가 제일 먼저 이 main()메소드를 찾아 실행을 하는 곳입니다. main() 메소드는 "String args[]"라는 한 개의 파라미터값을 갖도록 정의되어 있습니다. args는 실행시의 클래스에 전달되는 커맨드 라인 인자로서 String의 배열형으로 정의함으로서 여러개의 문자열을 받아들일 수 있습니다.

쉽게 말해, 자바 애플리케이션 프로그램을 자바 인터프리터(java)로 실행할 경우 실행 명령뒤에 문자 열을 인자로 줄 수 있는데 이것을 받아들이는 String형 배열입니다.

반응형

댓글