버그 잡이

[JAVA] static 과 final 본문

안드로이드/자바

[JAVA] static 과 final

버그잡이 2020. 3. 28. 11:58

static

 

 - static을 붙여주면 객체를 생성하지 않고 사용할 수 있다.

 -

출처 : https://mangkyu.tistory.com/47

 - 위와 같이 저장되는 메모리가 다르다.

 - 그 결과 static메소드에서는 static 변수만 사용할 수 있다.

 

*장점

 - 쉽게 어디서든 가져다 쓸 수 있다.

 

*단점

 - static 영역은 GC가 작동하지 않기 때문에 메모리에 계속 남아있다.

 - 변수의 조작을 막을 수 없다.

 

 

 

 

final

 

- "변경을 제한한다."

 

- (변수) 한번 선언된 변수 값을 바꿀 수 없다.

- (메소드) 상속시 자식 클래스는 해당 메소드를 Override 할 수 없다.

- (클래스) 상속이 안 된다. 

 

 

 

 

 

어떻게 쓰이는가?

 

 "프로그램에서 사용될 상수 모음"

 

 

 

public final class Constant{

 

         public static final int REQUEST_CODE = 100

         public static final int RESULT_CODE = 10

 

}

 

 

 

* static으로 어디서든 사용할 수 있게 해주고

* final로 변경을 제한한다.

 

 

(참고)

https://mangkyu.tistory.com/47

 

[Java] static변수와 static 메소드

1. Static 정리 Java에서 Static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미합니다. 이를 정확히 이해하기 위해서는 메모리 영역에 대한 이해가 필요합니다. [ St..

mangkyu.tistory.com

https://www.inflearn.com/course/android_java/lecture/19820

반응형
Comments