인터페이스에 관하여 같이 공부 해보려고 합니다!
영어로 ‘interface(인터페이스)’는 ‘결합부’라는 뜻으로, 서로 다른 두 시스템이나
장치, 사람 등을 이어주는 부분을 말합니다!
ex) 어떤 사람이 컴퓨터를 켜려고 전원 버튼을 눌렀다면
그 버튼이 어떤 사람과 컴퓨터 전원 시스템 사이의 인터페이스가 됩니다.

-> 따라서 자바에서도 인터페이스는 클래스와 외부 세계(ex. 개발자, 다른 클래스)를 이어주는
역할을 합니다.

아래에 실습을 해보도록 하겠습니다.
// Citizen.java
public class Citizen extends Person implements Money,Work{
public void give(int money){
System.out.println(money + "원을 썼습니다.");
}
public void receive(int money){
System.out.println(money + "원을 벌었습니다.");
}
public void work(int salary){
System.out.println(salary + "원을 봉급으로 받았습니다.");
}
}
// person.java
public class Person {
public String name;
public int age;
public int weight;
public void eat() {
System.out.println("먹는다.");
}
public void sleep() {
System.out.println("잔다.");
}
}
// Work.java
public interface Work {
abstract void work(int salary);
}
// Money.java
public interface Money {
abstract void give(int money);
abstract void receive(int money);
}
// App.java
public class App {
public static void main(String[] args) throws Exception {
Person a = new Person();
a.name = "엄인섭";
a.sleep();
Citizen b = new Citizen();
b.name = "your name";
b.work(2000000);
b.give(300000);
b.receive(200000);
}
}
