인터페이스

염지은·2021년 12월 12일
0

java

목록 보기
29/45

[ 인터페이스(***) ]

  • 자식클래스들이 가져야 할 기능들의 목록을 갖음(뼈대역할,기본틀)

  • 상수와 추상메소드들로 이루어진다.(jdk8.0이상에서는 default메소드기능이 추가됨)

  • 만드는 형식
    interface 인터페이스명{
    상수;
    추상메소드();
    default 리턴형 메소드명(){ 실행코드;...}
    }
    -인터페이스는 객체를 생성할 수는 없지만 자식객체를 참조할 수는 있다.
    -사용이유)
    1. 자식클래스가 가져야 할 기능들의 뼈대를 제공
    2. 클래스에서는 다중 상속이 지원되지 않지만 인터페이스는 다중상속이 가능하다.
    3. 인터페이스를 적절히 사용함으로써 유지보수가 수월해 진다.

    interface Shape{
    	double PI=3.141592; //상수선언 public static final 생략가능
    	public abstract void draw();
    	void paint(String color); //public abstract 는 생략가능
    }
    class Rect implements Shape{
    	public void draw() {
    		System.out.println("사각형을 그려요");
    	}
    	public void paint(String color) {
    		System.out.println(color+"색상으로 사각형을 칠해요");
    	}
    }
    class Circle implements Shape{
    	public  void draw() {
    		System.out.println("타원그리기");
    	}
    	public void paint(String color) {
    		System.out.println(color+"색상으로 타원을 칠해요");
    	}
    }
    public class Test01_인터페이스 {
    	public static void main(String[] args) {
    		Rect r=new Rect();
    		r.draw();
    		r.paint("빨강");
    		System.out.println(Shape.PI);
    		Circle c=new Circle();
    		c.draw();
    		c.paint("노랑");
    
    	}
    }

0개의 댓글