JAVA
chapter10 : static final
GAWON
2023. 5. 16. 18:30
1.1 static
- 사전적 의미 : 정적
- 정적 : 미리 만듦
- 동적 : 나중에 만듦 (new)
- 정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다.
- 객체마다 가지고 있어야 할 데이터라면 인스턴스 필드로 선언하고, 객체마다 가지고 있을
필요성이 없는 공용적인 데이터라면 정적 필드로 선언하는 것이 좋다.
1.2 static 사용 이유
- 모든 객체(인스턴스)가 공유하기 위해서
- 객체(인스턴스) 생성 (new) 없이 클래스를 사용하기 위해서
1.3 static 동작
- static 멤버(필드나 메소드)는 프로그램 실행 직전에 미리 만들어진다.
- 객체(인스턴스) 생성 되기 전에 미리 만들어진다.
- 객체(인스턴스) 생성(new)없이도 만들어진다. (객체를 만들지 않아도 사용가능하다!)
- 하나의 static 멤버가 만들어지면 모든 객체(인스턴스)가 공유한다.
1.4 static 멤버 접근 방식
- 필드 : 클래스명.필드명
- 메소드 : 클래스명.메소드명()
2.1 final(누구나 쓸수있고 변할 수 없는 값)
- 상수에 언제든 값을 한번 저장하고 다음에 다시 바꾸지 않을때 사용한다.
- 상수, 메소드, 클래스에 사용 가능하다.
1) 상수 : final 타입 상수명 -- 값 변경 x
2) 메소드 : final 반환타입 메소드명(매개변수){} -- 오버라이드 x
3) 클래스 : final class 클래스명{} -- 상속 x
★ static final : 값이 변하지 않는 클래스 상수(초기화 필요)