티스토리 뷰

프로그래밍

[JAVA] static, final

ReturnToHome 2016. 12. 24. 21:51

-- static

static 으로 선언된 변수나 메소드는 프로그램이 실행될 때 한번만 실행되어 메모리에 올라가게 됨.

메모리 영역은 여러 영역이 있지만 간단하게 일반 클래스들이 올라가는 static 영역과, 힙 영역으로 나뉘어 볼 수 있음.

일반 멤버변수나 메소드들은 jvm 의 가비지 컬렉터가 있는 힙영역으로 올라가서 가비지 컬렉터에 의해서 자동으로 내려지게 되지만 static 으로 선언하면 클래스들과 같은 static 영역으로 올라감.

그래서 항상 메모리에 상주해 있게 됨.

그렇기에 static 남발은 메모리 부하를 야기 할 수 있음.

 

 

-- final

변화를 막음.

필드값에 사용한다면 필드값의 변경(대입 등) 불가능

메소드에 사용한다면 메소드 수정 불가능.

클래스에 사용한다면 클래스 상속 불가능.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함