☕JAVA/🔎 공부 [JAVA]

[JAVA] 추상클래스

디카페인라떼 2022. 8. 10. 17:22

: 구체적이지 않은 클래스

새,포유류, 가구 .. 등과 같이 구체적이지 않은 것. 추상클래스로 표현 가능하다

추상 클래스 정의하기

  • 추상 클래스는 클래스 앞에 abstract 키워드를 이용해서 정의한다.
  • 추상 클래스는 미완성의 추상 메소드를 포함할 수 있다.
    • 추상 메소드란, 내용이 없는 메소드 이다. 즉 구현이 되지 않은 메소드이다.
    • 추상 메소드는 리턴 타입 앞에 abstract라는 키워드를 붙여야 한다.
  • 추상 클래스는 인스턴스를 생성할 수 없다.
    public abstract class Bird{//추상메소드가 하나라도 있으면 추상 클래스
        public abstract void sing();//추상메소드

        public void fly(){
            System.out.println("날다.");
        }

추상 클래스를 상속받는 클래스 생성하기

  • 추상 클래스를 상속받은 클래스는 추상 클래스가 갖고 있는 추상 메소드를 반드시 구현해야 한다.
  • 추상 클래스를 상속받고, 추상 클래스가 갖고 있는 추상 메소드를 구현하지 않으면 해당 클래스도 추상 클래스가 된다.
    public class Duck extends Bird{
        @Override
        public void sing() {
            System.out.println("꽥꽥!!");
        }
    }

 

  • Bird는 추상 클래스 이므로 객체를 생성할 수 없다.
    public class DuckExam { 
        public static void main(String[] args) {
            Duck duck = new Duck();
            duck.sing();
            duck.fly();

            //Bird b = new Bird();
        }   
    }

'☕JAVA > 🔎 공부 [JAVA]' 카테고리의 다른 글

[JAVA] 인터페이스  (0) 2022.08.12
[JAVA] 메소드 - 오버라이딩  (0) 2022.08.10
[JAVA] 접근 제어자  (0) 2022.08.10
[JAVA] 상속 / super / 부모생성자/ 클래스형변환  (0) 2022.08.10
[JAVA] 패키지  (0) 2022.08.10