{TIL} Unity 3D 인터페이스 이론

Kwaksang·2024년 5월 29일

TIL

목록 보기
31/37
post-thumbnail

Unity 3D 인터페이스 이론

Chapter .1 인터페이스

Content .1 인터페이스의 정의

  • 인터페이스를 통해 클래스들은 공통적인 동작을 정의
  • 동작들을 구현하는 클래스들은 해당 인터페이스를 구현함으로써 공통 규약을 준수

Content .2 인터페이스의 특징

  1. 추상화

    인터페이스는 추상적인 개념
    실제로 구현된 메서드가 없고, 메서드의 시그니처만을 가짐
    인스턴스화 불가, 구현체가 필요

  2. 메서드 시그니처

    구현 클래스가 반드시 구현해야 하는 메서드들의 시그니처를 정의
    메서드의 이름, 매개변수, 반환 타입이 포함

  3. 다중 상속 가능

    여러 인터페이스를 동시에 구현 가능
    다중 상속을 흉내내는 것이 가능

  4. 강제적 구현

    인터페이스에서 정의한 모든 메서드를 반드시 구현해야 함
    클래스는 인터페이스에 정의된 동작을 강제로 구현

  5. 인터페이스 간 확장

    인터페이스는 다른 인터페이스를 확장(extends) 가능
    더 큰 범위의 공통 동작을 정의 가능

Content .3 인터페이스 사용 이유

  • 코드는 결합도가 낮아야 함
  • 결합도가 높으면 유연성이 떨어짐
  • 구체적 구현 클래스가 아닌 여러 작은 단위의 인터페이스를 사용

Content .4 협업의 관점

  1. 개발 기간을 단축

    인터페이스라는 구현되지 않은 틀만 작성하면 구현 클래스에서 코드 작성 및 개발 가능

  2. 표준화가 가능

    여러명의 개발자가 작업해도 정형화된 작업이 가능

  3. 독립적인 프로그래밍이 가능

    선언은 인터페이스 / 구현은 클래스

Content .5 예제 코드

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();
}

인터페이스는 작은 단위로 기능을 만들어서 관리하기 편하고
협업을 진행할 때에도 유용하게 사용됨
직접적인 구현은 클래스에서 진행하면 되기 때문에
객체지향적인 측면에서 굉장히 우수한 방법

profile
게임은 재미와 기능!

0개의 댓글