본문 바로가기
개발자 :-)/Java

[Java] 추상클래스

by 뚜생첨 2022. 9. 3.

1. 추상클래스란

클래스의 공통된 부분을 뽑아서 별도의 클래스(추상클래스)로 만들어 놓고, 이것을 상속해서 사용한다.

abstract 클래스의 특징

 - 멤버변수를 가진다.

 - 상속하기 위해서는 extends를 사용한다.

 - 상속한 클래스에서 반드시 구현해야한다.

 - 일반 메서드도 가질수 있다.

 - 생성자도 있다.

 

2. 추상클래스의 구현

public abstract class AbstClass{
    int num;
    String str;
    
    public AbstClass(){//생성자
    }
    
    public void func(){//일반 메서드도 가질수 있다
    }
    
    public abstract void func2(); //추상메서드
}

public class ExampleClass extends AbstClass{
    public ExampleClass(){//생성자
    }
    
    @Override
    public void func2(){
    	//추상메서드 구현
    }
}

추상메서드는 무조건 구현해야함

 

3. Interface VS 추상클래스

① 공통점

추상메서드를 가진다.

객체 생성이 불가능하여 자료형으로 사용된다.

 

② 차이점

Interface :

   상수, 추상메서드만 가진다.

   추상 메서드를 구현만 하도록 한다.

   다형성을 지원한다.

추상클래스 :

   클래스가 가지는 모든 속성, 기능을 가진다.

   추상메서드 구현 및 상속 기능을 가진다.

   단일 상속만 지원한다.

 

728x90
반응형

'개발자 :-) > Java' 카테고리의 다른 글

[Java] 문자열 클래스  (0) 2022.09.04
[Java] 람다식  (0) 2022.09.04
[Java] 인터페이스  (0) 2022.09.03
[Java] 내부클래스와 익명클래스  (0) 2022.09.03
[Java] 상속  (0) 2022.09.03

댓글