출처 : http://stackoverflow.com/questions/2390063/what-does-public-static-void-mean-in-java

  • public - it can be called from anywhere 아무데서나 호출할 수 있다.
  • static - it doesn't have any object state, so you can call it without instantiating an object
                객체 생성 없이 변수나 함수를 사용 할 수 있다.


static이 조금 난해해보여 더 찾아봄.

출처 : http://rockdrumy.tistory.com/214

 

JAVA

1. 클래스안의 멤버변수가 모든 인스턴스에 공통으로 사용하는 경우

   -> 클래스 안의 전역변수..라고 이해하면 되려나..

2. static이 붙은 클래스변수(멤버변수)는 인스턴스 생성 없이 사용 가능

   -> 클래스가 메모리에 올라갈 때 이미 생성된다... c의 지역변수랑 유사해보임....

3. static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없음

   -> static이 붙은 메서드에서는 class의 전역변수를 사용 못함     <-- C와 다름.

4. 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static 붙이는 것을 고려

   -> 인스턴스 변수를 사용하는지 안 하는지 명확히 구분하기 위해 붙일지 말지 선택해야함.


C에서의 static과 유사해보이기도 함.

- 함수 안 :  함수 안에서만 사용 가능하고, 1회 초기화 후 프로세스가 살아있는 동안 변경된 값이 유지됨.

- 함수 밖 : 다른 c 파일에서 호출하거나 사용할 수 없음.

+ Recent posts