ch7-17~20 컨트롤러, 정적, 최종, 추상

CH7-17 수정자


수정자는 클래스 또는 클래스의 구성원에 연결되어 추가 의미를 갖습니다.

수정자 유형에는 4개의 액세스 수정자 외에 추가 수정자가 있습니다.

하나의 액세스 수정자만 연결할 수 있습니다.

(기본값) 아무것도 추가되지 않습니다.

여러 수식어(단 하나의 액세스 수식어)를 함께 사용할 수 있습니다.

순서는 중요하지 않다 경험 법칙은 맨 왼쪽에 액세스 수정자를 작성하는 것입니다.

예.


정적은 멤버 변수 및 메서드에 연결할 수 있습니다.

iv 앞에 오면 cv가 됩니다.

정수 너비 -> 정적 정수 너비

‘static { }’ 괄호 안의 정적 변수를 초기화합니다.

단순(명시적) 초기화는 대입 연산자(=)를 사용하여 변수 값을 초기화하는 것을 말합니다.

괄호({ })를 사용한 초기화는 복잡한 초기화입니다.

정적 메서드 및 클래스 메서드에서는 iv 및 인스턴스 메서드를 사용할 수 없습니다.

즉, 인스턴스 멤버는 정적 메서드에서 직접 사용할 수 없습니다.

객체 생성 후 인스턴스 멤버를 사용할 수 있습니다.

그러나 객체를 생성하지 않고 정적 메서드를 호출할 수 있으므로 정적 메서드에서는 인스턴스 멤버를 사용할 수 없습니다.


수정자를 볼 때 무엇을 사용할 수 있는지가 중요합니다.

final은 무엇이든 붙일 수 있습니다.


final이 클래스에 추가되면 변경할 수 없는 클래스가 됩니다.

즉, 연장할 수 없습니다.

즉, 그들은 조상이 될 수 없고 번식할 수 없습니다.

String 및 Math 클래스가 일반적인 예입니다.

보안상의 이유로 문자열을 확장할 수 없습니다.

비밀번호는 String 형태로 저장되며, 상속받을 경우 조상 String은 자손에서도 접근이 가능하므로 안전을 위해 final로 설정한다.

Math는 상속이 필요하지 않은 정적 메서드 집합입니다.

변수 앞에 넣으면 상수가 되고 메소드 앞에 놓으면 변경할 수 없다.

메서드가 변경 불가능하면 재정의할 수 없음을 의미합니다.

조상 메서드는 재정의할 수 없습니다.

final은 마지막이고 변경할 수 없는 것이 두 가지 있는데, 클래스 앞에 붙이면 마지막 조상이 될 수 없고 메서드와 변수도 변경할 수 없다.


선언 부분은 있지만 구현 부분이나 본문({})이 없는 메서드를 추상 메서드라고 하며 접두사에 추상 컨트롤러를 붙여야 합니다.

추상 메서드는 불완전한 메서드입니다.

따라서 수업도 불완전하므로 추상 한정자를 추가합니다.

AbstractTest 객체를 생성하는 것은 불가능합니다.

추상 메서드가 있는 추상 클래스의 인스턴스를 만들 수 없습니다.

추상 클래스를 상속하고 구현을 만든 후에 객체를 만들 수 있습니다.

완전한 클래스는 추상 클래스와 반대로 구체적인 클래스라고 합니다.