JAVA/java 공부

[JAVA] class 클래스와 객체 : final (수정이 불가능한 상수)

congs 2023. 3. 25. 21:47

final

= 클래스, 변수, 메서드 붙일 수 있음

 

사용

  1. final 멤버 변수 : 상수 (수정 불가)
  2. final 멤버 메서드 : 오버라이딩(@Overring) 불가능 = 타인이 만든 메서드를 내 마음대로 바꿔 재사용x
  3. final 클래스 : 상속 불가능 + 부모 클래스 불가능

 

초기화 방법

우선 순위 : 기본값 < 명시적 초기값 < 초기화 블럭 < 생성자 (가장 우선적용)
  1. 기본값
  2. 명시적 초기값 : 멤버변수 선언과 동시에 초기값 지정
    1. private String place = "서울";
    2. private static String place; => 모든 사람이 사용
    3. private final static String place; => 모든 사람이 사용 + 상수 적용(변경 불가)
  3. 초기화 블럭 : { } 멤버변수 초기화
  4. 생성자 : 객체를 생성할 떄 초기화해서 생성

 

초기화블럭 사용예시

class EzenStudent{
	
	private String place;
	private String name;
	private String ban;
	private String number;
	
    //연산이 되어야하는 경우에 int사용
	{
		ban = "미정"; //초기화 블럭 =  멤버변수들을 초기화
	}
	
	public EzenStudent() {}
	public EzenStudent(String place, String name, String ban, String number) {
		//super();
		this.place = place;
		this.name = name;
		this.ban = ban;
		this.number = number;
	}