티스토리 뷰

Java

static과 final의 사용

SonSeungWoo 2017. 6. 28. 17:03

static과 final의 사용 방법


final은 상속불가 또는 변할수 없는 상수 선언에 사용되고,static은 공용의 변수를 만들때 사용되는 예약어 이다.


1.static

-인스턴스 변수는 하나의 클래스로 부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static 멤버변수)

인스턴스에 관계 없이 같은 값을 갖는다. 하나의 변수는 모든 인스턴스가 공유하기 때문이다.


-멤버변수(클래스 변수는 인스턴스를 생성하지 않고 사용가능하다. 클래스명.static변수명 이런식으로 접근가능)


-메서드(인스턴스를 생성하지 않고도 호출이 가능한 static메서드가 된다. 단 static 메서드 내에서는 인스턴스 멤버     들을 직접 사용할수 없다.)


-static이 선언된 메소드는 오버라이딩 되지 않고 메소드 숨김이 일어나 상속받은 클래스에서 사용이 불가능하다.


-static메소드 객체의 레퍼런스를 통한 call이아닌 클래스의 이름으로 메소드를 호출할 수 있습니다.


static 초기화블록

static {
//초기화 할 내용 선언

//main() 보다 먼저 수행되는 내용이 들어갑니다.
}



2.final

-변수에 사용하면 값을 변경할 수 없는 상수가 된다.


-메서드에 사용하면 오버라이딩을 할수 없게 된다.


-클래스에 사용되면 자신을 확장하는 자손클래스를 정희하지 못한다.(상속x)


public final int age = 40;

static int height = 180;


public class ssw_test {


public final int age = 40;

static int height = 180;


public static void main(String[] args) {

age = 40; //여기서 에러

height = 50;
}
}

위와 같이 age는 final로 정의 되어있기 때문에 새 할당이 불가능하기 때문에 에러가 난다.


'Java' 카테고리의 다른 글

Builder패턴  (0) 2018.03.06
자바7의 몇 가지 특징  (0) 2017.03.30
JAVA8에 대해 알아보자(2)  (0) 2017.03.29
JAVA8에 대해 알아보자(1)  (0) 2017.03.29
jvm 메모리  (0) 2017.03.29
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함