상세 컨텐츠

본문 제목

[Interface & Abstract class] 인터페이스와 추상클래스

Java/Theory

by 찌니씨 2022. 10. 20. 17:36

본문

 

Specification
클래스나 프로그램이 제공하는 기능 (클래스)을 명시적으로 선언
이를 구현한 다양한 객체를 사용함 (다형성)

 



메서드추상 메서드로 선언

 

public abstract

 

 

    추상 메서드: 구현 코드 없이 메서드의 선언(declaration : 반환 타입, 메서드 이름, 매개변수)만 있음

    인스턴스화 할 수 없음. (new X)

   

    ≠ 메서드 정의(definition): 메서드 구현 (implementation)

 


 

변수상수로 선언 또는 변환됨

 

public static final

 

 

    템플릿 메서드 패턴: 추상 메서드나 구현된 메서드 활용하여 코드의 흐름(시나리오)을 정의하는 메서드.

    final로 선언, 하위 클래스에서 재정의 할 수 없게 함

    프레임워크에서 많이 사용되는 패턴

 

    final 변수 : 값이 변경될 수 없는 상수

    final method: 하위 클래스에서 재정의 할 수 없는 메서드
    final class: 상속할 수 없는 클래스

 



자바 8

 

기본 - 구현

default method 

 

정적 - 인스턴스 생성과 상관 X, 인터페이스 타입으로 사용

static method

 

재정의 - 인스턴스 생성되어야 사용 가능 (재정의 하려면)

@Override

 


  자바 9 이후

 

인터페이스를 구현한 클래스에서 사용하거나 재정의 할 수 없음

인터페이스 내부에서만

 

private void method

private static method

 

 


코드 상속이 아니므로 타입 상속

다중 상속 가능

Extends

 

 

 


 

초심으로 돌아가고자

fastcampus 한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online 를 보고 공부중이드래염

아하핳

'Java > Theory' 카테고리의 다른 글

[Java] Web Server & Web Application Server (WAS)  (1) 2022.10.13
[Java] Build Tool (Maven & gradle)  (1) 2022.10.13
[Java] java.util.function  (0) 2022.10.04
[Java] POJO란?  (0) 2022.10.04

관련글 더보기

댓글 영역