inblog logo
|
Coding's note
    JAVA

    추상 클래스

    이소연's avatar
    이소연
    Aug 05, 2024
    추상 클래스
    Contents
    특징사용법 : abstract 붙여주면 됨.DIP-V추상화와 상속(부모 클래스의 빈 메소드를 자식클래스에서 재정의)의 차이인터페이스사용법 : interface를 씀추상화와 인터페이스의 차이
    추상적인 개념을 나타내기 위한 용도
     

    특징

    -추상 클래스로는 객체를 생성X (구체적이지 않기 때문에 구현x)
    -추상 클래스는 1개 이상의 추상메소드(몸체 없는 메소드_move( ); ) 가지고 있어야 함.
    (그렇지만 추상 클래스가 추상메소드 가지고 또 보통의 메서드도 가질 수 있음)
    -추상 클래스를 상속받는 자식클래스에서 반드시 메소드 재정의.
     

    사용법 : abstract 붙여주면 됨.

    Class 생성) abstract class ooo 이런 식으로
    메서드) abstract void move( );
     

    DIP-V

    추상화에 의존.
     

    추상화와 상속(부모 클래스의 빈 메소드를 자식클래스에서 재정의)의 차이

    추상화 ) 추상 메서드는 자식 클래스에서 반드시 재정의 되야 함.
    (재정의 꼭 해야해서 재정의를 하지 않으면 컴파일러가 오류 뜸) _ 강제
     
    상속) 자식클래스에서 재정의 안되도 됨. 그냥 써도 됨. _선택권 있음
    재정의 하지 않아도 컴파일러가 잡지 X
     

    인터페이스

    notion image
     

    사용법 : interface를 씀

    class 단어 대신 interface를 적음.
    ex) public interface ooo{
    반환형 추상메소드1( );
    반화형 추상메소드2( );
    …}
    notion image
     

    추상화와 인터페이스의 차이

    클래스 :
    1. 일반클래스
    1. 추상클래스
      1. -추상클래스: 클래스 내 ‘추상메서드’ 1개 이상 / abstract로 정의
        ⇒목적) 추상 클래스를 상속받아서 기능을 이용/확장
    -인터페이스 : 모든 메소드 추상인 경우, (default 일반 메소드 구현도 가능)
    ⇒ 함수의 껍데기만 있음. why?) 그 함수의 구현을 강제하기 위해.
    구현을 강제함으로써 구현 객체의 같은 동작을 보장.
    ⇒ 다중 상속 가능
     
    상속 : 슈퍼클래스의 기능을 이용/확장하기 위해 사용, 하나만 상속 가능
    추상화는
    인터페이스 : 해당 인터페이스를 구현한 객체들에 대해 동일한 동작을 약속하기 위해 존재.다중 상속 가능
    인터페이스는 그 내용을 강제로 밑에서 구현하기 위한 것.
    Share article
    Contents
    특징사용법 : abstract 붙여주면 됨.DIP-V추상화와 상속(부모 클래스의 빈 메소드를 자식클래스에서 재정의)의 차이인터페이스사용법 : interface를 씀추상화와 인터페이스의 차이

    Coding's note

    RSS·Powered by Inblog