java/객체지향 프로그래밍

자바 추상클래스

appmaster 2019. 4. 16. 16:31

추상클래스란?

완전하게 구현되어 있지 않은 메소드를 가지고 있는 클래스를 의미한다. 메소드가 미완성되어 있으므로 추상 클래스로는 객체를 생성할 수 없다. 주로 상속 계층에서 추상적인 개념을 나타내기 위한 용도로 사용된다.

 

추상메소드의 예)

 

abstract class Shape{  // 추상클래스 Shape을 선언한다. 추상 클래스로는 객체를 생성할 수 없다.

    int x, y;

       public void move(int x, int y){  // 추상클래스라고 하더라도 추상 메소드가 아닌 보통의 메소드를 가질 수 있다.

            this. x = x;

            this. y = y;

}

public abstract void draw();  // 추상 메소드를 선언한다. 추상메소드를 하나라도 가지면 추상클래스가 된다. 추상메소드를 가지고 있는데도 abstract를 class 앞에 붙어있지 않으면 컴파일 오류가 발생한다.

 

};

class Rectangle extends Shape{

    int width, height;

     public void draw() {  // 추상메소드 구현 & 자식 클래스 Rectangle에서 부모 클래스의 추상 메소드 draw()를 실제 메소드로 구현한다. 자식 클래스에서 추상 메소드를 구현하지 않으면 컴파일 오류가 발생한다.

         System.out.println("사각형 그리기 메소드");

    }

};

 

class Circle extends Shape {

   int radius;

   public void draw() {  // 추상 메소드 draw()를 실제 메소드로 구현한다.

       System.out.println("원 그리기 메소드");

   }

};

'java > 객체지향 프로그래밍' 카테고리의 다른 글

자바 실제 객체  (0) 2019.04.16
자바 상속과 다형성  (0) 2019.04.16
자바 객체 소멸  (0) 2019.04.11
자바 객체 지향 프로그래밍의 특징  (0) 2019.04.09
자바 객체 지향 프로그래밍이란?  (0) 2019.04.09