static 변수, 함수

static

클래스파일이 메모리에 적재될때 생성되어
매번 여기저기 다른파일에서 new로 생성해서 사용하는게 아니라,
{클래스명}.{static object} 식으로 바로 사용이 가능하다.


장점
  최초에 한번만 생성하면되니, 메모리나 속도적인 비용면에서 강점이 있음.


단점
  변수로 사용할 경우,
  값이 변경되면 참조하는 모든곳에서 값이 동시에 같이 바뀌기 때문에
  문제가 발생할 소지가 있음. 


이럴떄 사용
  변수 : 보통 final 까지 추가해서 상수로 많이 사용, 상수 네이밍은 대문자가 관례죠.
static final int MAX_SIZE = 10;
 
함수 : 유틸성함수(?) Math.random() 뭐 이런 어떤 클래스에서 호출해도 상관없을것 같은
    public static double random() {
    if (randomNumberGenerator == null) initRNG();
       return randomNumberGenerator.nextDouble();
    }
  ※ 실제 java random 함수 코드 (http://goo.gl/T6FhOf)

댓글

이 블로그의 인기 게시물

[spring] log4j 설정 및 사용법

[linux] 백그라운드 작업 nohup [xxx.sh] &

[spring] 인터셉터 와 필터