본문 바로가기

IT/자바

인터페이스1

MyMain_BaseCalc.java

BaseCalc.java

BaseCalclmpl.java

package mymain;

import inter.BaseCalc;
import inter.BaseCalclmpl;

public class MyMain_BaseCalc {

	public static void main(String[] args) {
		//인터페이스는 사용할 때 필요
		//클래스는 객체 생성할때 필요
		
		//interface			class
		//설명서			설계도(서)
		BaseCalc calc = new BaseCalclmpl();
		
		int a = 10, b = 5, c;
		c = calc.plus(a, b);
		System.out.printf("%d + %d = %d\n", a, b, c);
		
	}

}
package inter;
//본 파일은 설명서(사용자 입장에서 외부에 노출 : 설명서만 노출됨)
//interface 안에는 오로지 상수와 추상메소드만 삽입 가능
public interface BaseCalc {

	public static final double PI2=3.14;
	//(public static final)생략가능
						double PI=3.14;
						
	
	//접근제한 (abstract) 생략
					int plus(int a, int b);
	//full 정석형태
	public abstract int minus(int a, int b);
	//Declaration : 선언문
	//Implementation : 도구
}
package inter;

// extend, implements : 둘다 상속
//인터페이스와 클래스간의 상속은 implements 
//설명서 대로 구현한 객체
public class BaseCalclmpl implements BaseCalc {

	@Override
	public int plus(int a, int b) {
		// TODO Auto-generated method stub
		return a+b;
	}

	@Override
	public int minus(int a, int b) {
		// TODO Auto-generated method stub
		return a-b;
	}

}


'IT > 자바' 카테고리의 다른 글

인터페이스 2-1(tv)  (0) 2018.05.08
인터페이스 2 tv 컨트롤  (0) 2018.05.08
추상클래스와 인터페이스 차이  (0) 2018.05.08
업캐스팅 다움캐스팅2  (0) 2018.05.07
업캐스팅 다운캐스팅  (0) 2018.05.07