bread, coffee and coding
Java 상속, 인터페이스 오버라이딩 본문

------------------------MainClass.java
package org.example;
class Rectangle extends Shape implements IColor{
@Override
public void draw() {
//super.draw();
System.out.println("사각형을 그리다");
}
@Override //인터페이스에서 가져온 오버라이딩 -> implements IColor를 쓰기 위해서
public void paint() {
}
}
class Triangle extends Shape implements IColor {
@Override
public void draw() {
//super.draw();
System.out.println("삼각형을 그리다");
}
@Override //인터페이스에서 가져온 오버라이딩
public void paint() {
}
}
public class MainClass { //파일의 이름이 클래스의 이름과 동일해야 한다.
public static void main(String[] args) {
//Shape shape = new shape; //Error 개념적으로 존재 실제로 존재하지는 않는다
Circle circle = new Circle();
Shape s1 = new Triangle();
s1.draw(); //??어떤 값이 찍히는지 ~~
}
}
----------------------------------------Shape.java
package org.example;
public class Shape {
public void draw()
System.out.println("도형을 그리다.");
}
}
----------------------------------------Circle.java
package org.example;
public class Circle extends Shape implements IColor{
@Override
public void draw() {
// super.draw(); //부모 클래스의 draw 출력
System.out.println("원을 그리다."); //-> 재 정의
}
@Override
public void paint() {
}
}
------------------------------------------------IColor.java(인터페이스)
package org.example;
public interface IColor {
public void paint(); //인터페이스 만들었다
}
--------------------------------------------------
'Java' 카테고리의 다른 글
| java.util 패키지의 주요 클래스(날짜 관련 클래스, Scanner 클래스) (0) | 2021.07.06 |
|---|---|
| java.lang 패키지의 주요 클래스(System) (0) | 2021.07.06 |
| java.lang 패키지의 주요 클래스(wrapper) (0) | 2021.07.06 |
| java.lang 패키지의 주요 클래스(String) (0) | 2021.07.06 |
| Java class (0) | 2021.07.05 |