Unity 3D 인터페이스 이론
- 추상화
인터페이스는 추상적인 개념
실제로 구현된 메서드가 없고, 메서드의 시그니처만을 가짐
인스턴스화 불가, 구현체가 필요- 메서드 시그니처
구현 클래스가 반드시 구현해야 하는 메서드들의 시그니처를 정의
메서드의 이름, 매개변수, 반환 타입이 포함- 다중 상속 가능
여러 인터페이스를 동시에 구현 가능
다중 상속을 흉내내는 것이 가능- 강제적 구현
인터페이스에서 정의한 모든 메서드를 반드시 구현해야 함
클래스는 인터페이스에 정의된 동작을 강제로 구현- 인터페이스 간 확장
인터페이스는 다른 인터페이스를 확장(extends) 가능
더 큰 범위의 공통 동작을 정의 가능
- 개발 기간을 단축
인터페이스라는 구현되지 않은 틀만 작성하면 구현 클래스에서 코드 작성 및 개발 가능
- 표준화가 가능
여러명의 개발자가 작업해도 정형화된 작업이 가능
- 독립적인 프로그래밍이 가능
선언은 인터페이스 / 구현은 클래스
public interface Payment
{
public void Pay();
}
public class Card : Payment
{
public void Pay(){}
}
public class Cash : Payment
{
public void Pay(){}
}
public class QR : Payment
{
public void Pay(){}
}
// (x)
public class Store
{
Card card;
Cash cash;
QR qr;
}
// (o)
public class Store
{
Payment payment;
payment.Pay();
}
인터페이스는 작은 단위로 기능을 만들어서 관리하기 편하고
협업을 진행할 때에도 유용하게 사용됨
직접적인 구현은 클래스에서 진행하면 되기 때문에
객체지향적인 측면에서 굉장히 우수한 방법