쌍용 강북 교육센터 국비학원 Day 16일차
static 블럭 (블럭의 순서)
오라클과 자바를 접목할때 쓰이는 static 블럭이다 (주로 JDBC에 환경설정시 사용된다)
Parent 와 Child , 이것을 실행하는 MainBlock 클래스 총 3개가 있다. Child는 Parent를 상속하는 관계이다.
여기에서 객체 생성시 블럭의 순서를 살펴보면
1. 선언하는 필드값
2. static 블럭
3. 상속받는 부모클래스의 기본생성자
4. instance 블럭
5. 자신의 기본생성자
순으로 호출이된다. 여기서 static 블럭은 인스턴스(객체)를 생성하기전에 먼저 호출되어지며 단 한번만 호출이 된다. 주로 환경설정시 사용된다. 블럭안에는 오직 static 변수만 들어올 수 있고, 인스턴스 변수는 들어올 수 없다.
Final
클래스, 메소드, 변수의 상속,변경,확장을 금지하는 선언이다. 실행되는 과정에서 한번 값이 정해진 이후에는 변수 내의 값이 바뀌지 않도록한다. final 클래스는 부모 클래스가 될 수 없으며, 메소드 또한 오버라이딩을 통한 재정의도 될 수 없다.
Interface
인터페이스(interface) 란 ?
오로지 추상메소드 (미완성메소드) 와 field는 final변수로만 이루어진 것을 말한다. 추상메소드와 field의 접근제어자는 public 으로만 되어진다. (추상메소드 생성시 public abstract 이 생략되어져 있고 field 는 public final이 생략되어져 있다.
또한 인터페이스는 다중상속이 가능하고 객체 생성시 다른 객체를 인스턴스화 하는 다형성도 가능하다. (extends 나 implements 관계에서 해당된다)
※ 인터페이스 클래스에서 메소드를 오버로딩할때 이 클래스를 구현(implements) 하는 클래스에서는 메소드를 사용하지 않더라도 오버로딩하는 모든메소드를 정의해야한다.
interface, 다형성을 이전에 정리해놓았던 글이다. (참고)
https://sikcoding.tistory.com/16
Java 기초 입문 6일차 (Interface, 다형성, Exception)
Interface abstract, final과 함께 대표적인 규제로 어떤 객체가 있고 그 객체가 특정한 인터페이스를 사용한다면 그 객체는 반드시 인터페이스의 메소드들을 구현해야 한다. 만약 인터페이스에서 강
sikcoding.tistory.com
인터페이스의 다형성의 예제이다. 이처럼 다른클래스를 인스턴스화 (객체화)한 다음에 다양하게 사용 가능하다.
오늘은 여기까지.
'Java' 카테고리의 다른 글
쌍용강북교육센터 국비 학원 Day 18일차 Java (Collection, 제네릭, List, Map, Set) (0) | 2023.01.27 |
---|---|
쌍용강북교육센터 국비 학원 Day 17일차 Java (Exception, throws, Anonymous 익명클래스, 람다식) (0) | 2023.01.26 |
쌍용강북교육센터 국비 학원 Day 15일차 Java (다형성, abstract 추상화) (0) | 2023.01.20 |
쌍용강북교육센터 국비 학원 Day 14일차 Java (Override, Overiding, 애너테이션) (0) | 2023.01.19 |
쌍용강북교육센터 국비 학원 Day 13일차 Java (접근제어자) (0) | 2023.01.18 |