035_추상 클래스

Dec 26, 2023
035_추상 클래스

추상 클래스(abstract class)

  • 완전하게 구현되어 있지 않은 메서드를 가지고 있는 클래스를 의미한다.
  • 메서드가 미완성되어 있으므로 추상 클래스로는 객체를 생성할 수 없다. → Shape s1 = new Shape; 불가능!
  • 하나 이상의 추상 메서드를 가지고 있어야 한다.
  • 추상 메서드로 정의하면 서브 클래스에는 반드시 구현하여야 하므로 구현을 강요하는 면에서 장점이 있다.
추상 클래스 예시
package ex07; abstract class Shape { int x, y; public void translate(int x, int y) { // 추상 클래스도 보통 메서드를 가질 수 있다. this.x = x; this.y = y; } public abstract void draw(); // 추상 메서드 선언 } class Rectangle extends Shape { int width, height; public void draw() { // 자식 클래스에서 부모 클래스의 추상 메서드를 구현하지 않으면 오류 발생! System.out.println("사각형 그리기 메소드"); } } class Circle extends Shape { int radius; public void draw() { System.out.println("원 그리기 메소드"); } } public class AbstractTest { public static void main(String[] args) { //Shape s1 = new Shape(); // 추상 클래스로 객체를 생성할 수는 없다. Shape s2 = new Circle(); s2.draw(); } }
출력 결과
notion image
 
Share article
RSSPowered by inblog