static
Java에서 static은 클래스 멤버(정적)를 설정하는 키워드이다.
Java 프로그램이 실행될 때 JVM에 의해 클래스 로딩을 하는데 static을 사용한 모든 멤버는 JVM의 메소드 영역에 올라간다.
따라서, 별도의 객체 생성없이 사용 가능하며 객체 간에 데이터가 공유된다.
단, static 메소드가 아닌 곳에서는 언제든 객체 생성없이도 static 요소들에 접근할 수 있지만
static 메소드 안에서는 static이 아닌 외부에 접근할 수 없다.
final
마지막, 최종적이라는 의미로 Java에서 final은 상수, 메소드, 클래스를 정의한 뒤 변경하지 못하게 할 때 사용된다.
- 상수 정의: 상수에 언제든 값을 한 번 저장하고 다시 바꾸지 않을 때 사용
- 메소드에 사용: 오버라이딩을 못 하게 한다.
- 클래스에 사용: 상속을 못 하게 한다.
static final
클래스 내에 변하지 않는 상수. 객체마다 값이 바뀌는 것이 아니며 선언과 동시에 초기화를 해 주어야 하는 클래스 상수이다.
public class Test
{
static final int a=1; //선언과 동시에 초기화
public static void main(String args[]) {
System.out.println(a);
}
}
참고 링크
'공부이야기 > Java' 카테고리의 다른 글
[Java] GC의 종류 (Garbage Collector) (0) | 2021.05.10 |
---|---|
[Java] Java 8에 대해 알아보자! (feat. 다른 버전 summary) (0) | 2021.05.09 |
[Java] 자바는 Call by value? Call by reference? (0) | 2021.04.29 |
[Java] 객체 지향 프로그래밍 (OOP: Object-Oriented Programming) (0) | 2021.04.29 |
[Java] JVM이란? 그리고 Garbage Collector (0) | 2021.04.28 |
댓글