관리 메뉴

SIMPLE & UNIQUE

public static void main(String[] args) 본문

Java & Spring/Guide

public static void main(String[] args)

착한코딩 2017. 8. 23. 15:59

public static void main(String[] args)


  • JAVA 는 어플리케이션이 실행되면 제일먼저 메인(main)메소드를 실행한다.


    public 은 접근제어자로 외부에서 접근할수 있는 일종의 제약.
    제약이 강한순서대로 private -> protected -> public 이 있으며 defualt 는 private 입니다.


    public 은 어느곳에서든 해당 객체를 참조할수있다는 의미입니다.


    static 은 이 함수가 정적 함수임을 의미한다. 
    static 으로 함수 또는 클래스를 선언했을 경우에 해당 객체는 자바가 컴파일 되는 순간 정의된다.

    static 객체에서 static 이 아닌 객체를 호출하는것은 불가능하다.

    왜냐면 static 이 먼저 정의가 되기때문에 아직 정의되지 않은 객체는 호출할수 없기때문이다.

    static method 란

    static이라는 키워드가 메소드 앞에 붙으면 이 메소드는 스태틱 메소드(static method)가 된다. 

    public class Counter  {
        static int count = 0;
        Counter() {
            this.count++;
        }
    
        public static int getCount() {
            return count;
        }
    
        public static void main(String[] args) {
            Counter c1 = new Counter();
            Counter c2 = new Counter();
    
            System.out.println(Counter.getCount());
        }
    }
    

    getCount()는 static 메소드.
    main 메소드에서 getCount() 메소드는 Counter.getCount() 와 같이 클래스를 통해 호출할 수 있게 된다.

    ※ 스태틱 메소드 안에서는 인스턴스 변수 접근이 불가능 하다. 위 예에서 count는 static 변수이기 때문에 스태틱 메소드(static method)에서 접근이 가능한 것이다.

    void 는  실행만 할뿐 리턴 값이 없다. 단지 해당 함수가 종료된후 호출한 부분으로 이동할뿐이다.


    void 자리에 int 를 넣을 경우 실핸한 후 정수형 데이터를 돌려보내고, String 이 들어갈 경우 문자형 데이터를 돌려보낸다.


    String[] args

    String 은 문자열을 의미."Hello World" 와 같은 데이터의 형태를 String 이라는 클래스변수로 정의하겠다는 의미

    [] 는 배열을 의미한다. 연속적인 데이터를 하나의 변수에 넣고 인덱스로 구분되는 공간에 데이터를 넣겠다는 것이다.

    args 는 단순한 변수명이다. 즉 연속적인 문자열 데이터가 들어가는 저장공간

    출처 : http://javacpro.tistory.com/11#comment5228038






'Java & Spring > Guide' 카테고리의 다른 글

SSL 인증서  (0) 2017.08.29
static 개념  (0) 2017.08.23
JAVA Session 사용법  (0) 2017.08.23
Log4j  (0) 2017.08.22
컴포넌트(Component)란?  (0) 2017.08.16
Comments