1-1 . 자바에서 block 이란 무엇을 의미하는가?
1-2. 그 중에서 초기화 블럭이란 무엇이고, 호출되는 순서는 다음과 같음
1-3. 1. field(필드) => static 초기화 블럭 => 부모 클래스의 기본생성자 => instance(인스턴스) 초기화 블럭 => 자식클래스의 기본생성자 호출
위의 순서대로 호출이 된다. 이 중에서 남들과 다른 하나의 속성을 가진 것이 존재하는 데, 이는 바로 static 초기화 블럭이다. static 초기화 블럭은 인스턴스(객체)를 생성하기 전에 먼저 호출되어지며, 가장 중요한 것은 오로지 1번만 호출된다는 것이다. 이러한 특성으로 인하여, 주로 static 초기화 블럭은 환경설정시에만 이용된다.
2-1. final 은 필드 앞에, 메소드 앞에 , 클래스 앞에 붙을 수 있다.
final double PI = 3.141592 ; 처럼 필드 앞에 final이 붙게 된다면,
더 이상 새로운 값을 할당할 수 없게 되고, 이를 상수변수라고 일컫는다. 이를 다른 변수들과 구분 짓게 하기 위해서, 상수변수는 주로 대문자로 작성한다.
2-2. final void rule(){ }
다음과 같이 final 이 메소드 앞에 붙을 수 있는데, 이렇게 되면 , 자식 클래스에서 메소드의 override( 오버라이딩 , 재정의) 불가하게 된다.
2-3.
public final class Final_test_2 { }
위에서 보여준 것과 같이 final 이 클래스 앞에도 붙을 수 있다. 이는 final 로 되어진 클래스는 다른 클래스로 상속해줄 수 없다는 말이다. 즉, final 로 되어진 클래스는 다른 클래스에서 부모 클래스로 사용될 수 없다는 말이다.
즉, final 이라는 영어의 의미와 비슷하게 해당 정의가 마지막 정의로 또 다른 정의를 만들어낼 수 없다는 의미로 받아들이면 좀 더 쉽게 받아들일 수 있다고 생각한다.
3-1. interface란 무엇인가?
''국비지원'의 시작' 카테고리의 다른 글
오라클 비긴즈 02 ( 기타함수 (CASE WHEN ... 함수 , DECODE 함수 ) ) (0) | 2023.02.06 |
---|---|
오라클 비긴즈 01 ( SELECT의 처리순서, Null 처리함수) (0) | 2023.02.03 |
자바 비긴즈 14 ( StringBuilder) (0) | 2023.01.19 |
자바 비긴즈 12 ( 객체 지향 프로그래밍의 4가지 특징) (0) | 2023.01.19 |
자바 비긴즈 13 ( 상속성과 메소드의 오버라이딩) (0) | 2023.01.19 |