자바 static과 final을 잘 생각하고 사용하자

min·2021년 12월 11일
0

참조
https://gobae.tistory.com/3

static

  • 클래스 변수를 만들어 주기 위함 = 객체의 생성이 필요 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 활용
  • 인스턴스에 상관없이 동일한 변수로 접근이 가능함
  • static 메소드의 경우 객체 참조 없이 바로 사용 가능 함으로 인스턴스 필드, 메소드, this 키워드를 사용 할 수 없음

final

  • 상수나 메소드, 클래스를 정의한 뒤 변경하지 못할 때 사용
  • 한번 값이 정해지고 나면 값을 바꿀 수 없음
  1. 상수
  2. 메소드
    • 메소드 오버라이딩을 하지 못하게 한다.
  3. 클래스
    • 상속을 하지 못하게 한다.

static final

  • 객체마다 값이 바뀌는 것이 아닌 클래스에 존재하는 상수
  • 선언과 동시에 초기화 해줘야 하는 클래스 상수
  • 해당 값은 객체마다 저장될 필요가 없고 (static이므로 클래스 변수 성질) 한 번 값이 정해지면 하나의 값을 가짐 (final 변수 성질)
profile
발등에 불이 따뜻하다..

0개의 댓글