static, final

바그다드·2023년 2월 4일
0

전역 변수와 전역 함수를 만들 때 사용하는 키워드

  • static멤버를 포함한 클래스가 로딩될 때 static 멤버에 메모리가 할당된다.

static 멤버(클래스 멤버)

- 객체를 생성하지 않고 사용할 수 있음
	ex) Math.abs(int a);
- main() 메서드가 실행되기 전에 이미 생성
- 클래스당 하나만 생성되어 동일 클래스의 모든 객체가 공유

non static 멤버(인스턴스 멤버)

- 객체 생성 시에 생성
- 객체가 사라지면 같이 사라짐
- 객체마다 따로 존재

static 메소드 제약조건

1. static 메소드는 static 멤버만 사용 가능
2. static 메소드는 this 사용 불가

final

final클래스

ex) final class ClassName{};

  • 상속 받을 수 없는 클래스

final 메소드

  • 오버라이딩 할 수 없는 메소드

final 필드(상수)

  • 한번 초기화되면 값을 변경할 수 없음
profile
꾸준히 하자!

0개의 댓글