본문 바로가기
Language

[Java] 인터페이스(Interface)

by DevPark 2023. 1. 9.

인터페이스(interface)는 얼핏 보기에는 추상(Abstract) 클래스와 매우 흡사한 개념으로 느껴질 수 있다.

인터페이스는 숙력된 자바 개발자들에게 아주 선호되는 설계 기능이면서 자바에서 다중 상속을 구현하게 해주는 고급 기술이기도 합니다. 추상클래스는 추상 메소드 외에 멘버변수나 일반 메소드를 가질 수 있지만 인터페이스에서는 반드시 사전에 정의된 추상 메소드와 상수만을 가질 수 있다는 특징이 있습니다. 

인터페이스는 팀 프로젝트의 동시 작업에 유리하고 일반적으로 추상보다 요구되는 설계의 기준이 높아서 더 체계적이라는 평을 받습니다. 

추상화의 정도가 높다. 


인터페이스 구현

 

public interface Dog { // public class 대신에 public interface로 해주면 된다. 

	abstract void cring();  //interface에서는 일반 메쏘드를 넣을 수 없음
	public void show(); 

}

추상 클래스보다 체계적으로 코드를 작성할 수 있는 장점이 있다. 

 


인터페이스 적용

public class Main implements Dog{

	public static void main(String[] args) {

		Main main = new Main();
		main.cring();
		main.show();
	}

	@Override
	public void cring() {
		System.out.println("월! 월!");
	}

	@Override
	public void show() {
		System.out.println("Hello World!");
	}

implements 를 상속받아 사용하였다. 

interface를 사용하면 다중 상속이 가능하다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

출처

http://www.tcpschool.com/java/java_polymorphism_interface

https://youtu.be/XkSWgIQ2zkk

반응형

'Language' 카테고리의 다른 글

[Java] 상속  (0) 2023.01.09
[Java] Final(최종) 이해  (0) 2023.01.09
[Java] 다차원 배열  (0) 2023.01.09
[복습용] Java 조건문 & 반복문  (0) 2023.01.08
Java 메인메소드 public static void main(String[] args) 이해하기  (1) 2023.01.05

댓글