출처 : 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 파일에서 호출하거나 사용할 수 없음.
반응형
'Language > JAVA' 카테고리의 다른 글
Unsupported major.minor version 52.0 Error in Java (ubuntu 14.04) (766) | 2016.07.18 |
---|---|
org.codehaus.plexus.classworlds.launcher.launcher 못 찾고 maven 실행 불가 (823) | 2016.02.02 |
컴파일 오류 (790) | 2016.01.29 |
[Intellij]com.google.common 패키지를 못 찾는 경우 (785) | 2016.01.28 |