Search

인터페이스_개념03_기본이론3

대분류
STEP16 인터페이스
소분류
인터페이스_개념

영상

개념

package 인터페이스_개념; import java.util.Scanner; interface Shape { public void draw(); } // Shape 클래스를 상속받아 Point 클래스를 만든다. class Point implements Shape { @Override public void draw() { System.out.println("점을 찍는다."); } } // Shape 클래스를 상속받아 Line 클래스를 만든다. class Line implements Shape { @Override public void draw() { System.out.println("선을 그린다."); } } // Shape 클래스를 상속받아 Circle 클래스를 만든다. class Circle implements Shape { @Override public void draw() { System.out.println("원을 그린다."); } } // Shape 클래스를 상속받아 Rect 클래스를 만든다. class Rect implements Shape { @Override public void draw() { System.out.println("사각형을 그린다."); } } // Shape 클래스를 상속받아 TriAngle 클래스를 만든다. class TriAngle implements Shape { @Override public void draw() { System.out.println("삼각형을 그린다."); } } public class 인터페이스_개념03_기본이론3 { public static void main(String[] args) { // === 다형성 === // 서로 다른클래스는 배열에 저장불가능하기때문에 // 공통부모를 상속받고 // 부모의 클래스로 배열을 만들면 한배열에 서로다른클래스들을 저장할수있다. /* * # 다형성 * 1. 서로 다른 클래스는 배열에 저장이 불가능하기 때문에 * 2. 공통 부모를 상속받아 * 3. 부모 클래스로 배열을 만들면 한 배열에 서로 다른 클래스들을 저장할 수 있다. */ Shape[] shapes = {new Point(), new Line(), new Circle(), new Rect(), new TriAngle()}; Scanner sc = new Scanner(System.in); System.out.print("원하는 작업을 선택하세요 : "); int menu = sc.nextInt(); shapes[menu - 1].draw(); } }
Java
복사