태그

#JAVA

JAVA - interface

2021년 6월 15일 02:01

52-thumbnail-image

interface

  • 다중 상속 전용 클래스
  • 클래스의 변형
  • interface를 붙어서 선언한다

  • 확실하면 적고 확실하지 않으면 적지 않을 것
  • 내부에 정의 할 수 있는 멤버들이 제한이 있다
  • 객체 생성 불가, 익명 중첩 클래스를 통하여 객체 생성가능
  • abstract랑 비슷하다

Main

public class JobApplicationTest {

	public static void main(String[] args) {
		
		// 취준생
		JobApplicant coals = new JobApplicant();
		
		// 회사 채용공고
		Samsung samsung = new Samsung();
		samsung.recruitJavaProgrammer(coals);
		samsung.recruitCProgramming(coals);
		
	}

}

회사 Samsong

public class Samsung {
	
	// 자바 프로그래머 채용 공고
	public void recruitJavaProgrammer(JavaProgamming java) {
		java.objectOriented();
	}
	
	public void recruitCProgramming(CProgramming c) {
		c.procedure();
	}

}

Jobapplicant

// 취준생
public class JobApplicant implements CProgramming, JavaProgamming {

	// spec
	private int toeic;
	private double gradePoint; // 학점
	private String[] licenses; // 자격증

	@Override
	public void objectOriented() {
		System.out.println("객체 지향은 --- 고 등등등");

	}

	@Override
	public void procedure() {
		System.out.println("절차지향은 --- 고 등등등");
	}

}

JavaProgamming

public interface JavaProgamming {

	// 객체 지향 프로그래밍
	public void objectOriented();
	
}

CProgramming

public interface CProgramming {

	// 구현이 없음
	
	// 절차 지향 프로그래밍
	public void procedure();
	
}