스태틱 (static) 과 final

Java 2007. 8. 12. 15:22

스태틱 (static)

멤버 변수와 메서드에 사용

static 멤버변수

객체를 아무리 많이 만들더라도 스태틱 변수는 오직 하나의 메모리만 생성

static의 예
학교의 컴퓨터실에 가보면 모든 컴퓨터는 하나의 패키지처럼 풀세트로 갖추어져 있다. 그리고 컴퓨터 내에 프린터까지 달려 있다. 하지만 프린터는 하나죠. 모든 컴퓨터에서 프린터를 사용할 수 있지만, 하나의 프린터를 모든 컴퓨터들이 공유하는 방식을 사용한다. 이 때 프린터는 static으로 잡혀 있는 것이다.

객체를 만들지 않고 접근이 가능하게 해줌.
클래스명으로 접근이 가능

스태틱 메모리는 언제 만들어지는가?
  ◈ 객체를 생성하기 전에 스태틱 멤버에 접근할 수 있다는 것은 객체생성 이전에
  ◈ 스태틱의 메모리가 생성된다는 것을 의미한다.
  ◈ 클래스의 이름만 언급되어도 스태틱의 메모리는 생성된다.

스태틱 멤버 메서드를 구현할 때 주의해야 할 점
   ◈ 스태틱 멤버 메서드는 객체의 메모리가 생성되기 전에 클래스의 이름으로 호출할 수 있
        다.
   ◈ 객체의 메모리가 생성되기 이전에 스태틱 메서드를 호출할 수 있기 때문에 일반 멤버
       변수의 메모리는 생성되지 않은 상태이다. 그렇기 때문에 스태틱 멤버 메서드 내에서
       일반  멤버 변수를 사용 할 수 없다.
   ◈ 스태틱 멤버 변수는 객체의 메모리 생성 이전에 접근할 수 있다. 그렇기 때문에 스태틱
        멤버 메서드 내에서 스태틱 멤버 변수를 사용 할 수 있다.
   ◈ 메서드 내에서 static 변수를 선언할 수 없음. (지역변수에 사용불가)


final

final은 고쳐 지고 싶어도 고칠 수 없는 것을 의미하는 것으로 고치지
말아야 하는 값에 대해서는 final로 지정을 함.

변수 앞에 final이 붙으면 상수(Constant)임을 의미



참고자료
소설같은자바II
경기여성e-러닝센터 - 초보자를 위한 Java 프로그래밍 정리노트


Posted by 도야지71
,