관리 메뉴

bread, coffee and coding

Java 상속, 인터페이스 오버라이딩 본문

Java

Java 상속, 인터페이스 오버라이딩

DongJin lee 2021. 7. 6. 09:43

JavaPrj01 

------------------------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(); //인터페이스 만들었다

}

--------------------------------------------------