네모 세모 원 이라는 클래스를 정의했을때, 하트 별 등을 생성하기위해
도형이라는 "부모클래스"를 정의 == 추상클래스
=> 올바른 설계방식은 아님
현재는 부모를 나중에 만들어낼일이 없음
package day14;
//만약에 코드를 작성할때, 복·붙을 시도했다면, 설계를 의심
abstract class Shape {
// 추상클래스
// 특징
// 1. 상속관계에서 주로 상위클래스 개념
// 2. 객체를 생성할 수 없다. == 객체화가 안됨
int point;
int line;
abstract void draw();
// 추상 메소드 : 내용물 == {}을 가질수 없다.
// 추상메소드를 가지려면 그 클래스는 무조건 추상클래스여야 한다.
// 추상클래스를 상속받은 클래스 중 draw를 하는 객체가 없으니 abstract를 쓴다.
// 추상클래스에 추상메소드가 있으면 상속받은 클래스에서는 무조건 오버라이딩을 해주어야 한다.
}
class Circle extends Shape {
@Override
void draw() {
// TODO Auto-generated method stub
}
// 추상메소드가 가진 강제성
}
class Squere extends Shape {
void draw() {
System.out.println("네모 그리기");
}
}
class Tri extends Shape {
void draw() {
System.out.println("세모 그리기");
}
}
public class Abstract {
public static void main(String[] args) {
Circle c = new Circle();
//c.draw();
// Shape() = new Shape(15,20); // 객체화가 안됨
}
}'JAVA' 카테고리의 다른 글
| JAVA 컬렉션 프레임워크(collection framework) 정리 (0) | 2021.07.20 |
|---|---|
| JAVA 컬렉션 프레임워크, ArrayList 정리 (0) | 2021.07.16 |
| JAVA 추상 클래스 (Abstract Class)를 이용한 카드 알고리즘 (0) | 2021.07.15 |
| JAVA class를 이용한 간단한 폰 기능 구현 (0) | 2021.07.15 |
| JAVA 배열에서 해당하는 번호 출력 (0) | 2021.07.14 |