인터페이스3 [Unity][C#] 인터페이스(Interface) 인터페이스란? - 외부와 통신하는 공개 통로, 통로의 규격 - 통로의 규격은 강제하지만, 내부에서 어떤 일이 일어날지를 결정하지는 않음. 인터페이스의 특징 - 관례적으로 이름 앞에 I를 붙여 선언 - 인터페이스를 상속하는 클래스는 해당 인터페이스의 메서드를 반드시 구현해야함. - 인터페이스를 상속하는 클래스는 해당 인터페이스의 메서드를 반드시 public으로 선언해야함. - 세부적인 타입과 구체적인 구현을 따지지 않고 동작 - 느슨한 커플링(Loose Coupling) : 어떤 코드가 특정 클래스의 구현에 결합되지 않아 유연하게 변경 가능한 상태 예시 public interface IItem { void Use(GameObject target); } public class HpPotion : MonoBe.. 2024. 2. 1. [C#/Unity][디자인패턴] 팩토리 메서드 패턴(Factory Method Pattern) 1. 팩토리 메서드 패턴이란? - 생성하는 공장은 단 한 개만 존재, 하지만 자식 클래스에 의해 여러 방식들로 구현 가능! - 객체를 생성하는 방법을 해당 클래스를 상속 받은 클래스에서 명시하도록 하는 패턴 - 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생설될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴 - 클래스에서 객체를 생성하기 위해 일반적으로 생성자를 만들지만 팩토리 메서드 패턴을 사용하면 이런 행위를 위임받아서 실행함. 2. 팩토리 메서드 패턴을 사용하는 경우 1) 코드가 높은 수준의 유연성을 제공해야 할 경우 2) 프로그램의 뼈대를 만들 경우 3) 추후 확장이 필요할 수 있는 경우 3. 팩토리 메서드 패턴의 장점 1) 유지보수 용이 : 객체의 생성을.. 2023. 11. 9. [C#][Study][기초다지기] 다중 상속 - 인터페이스 interface 다중 상속 - 인터페이스(Interface) "C#은 아래와 같은 이유로 다중 상속을 지원하지 않음" - 다중 상속은 이점은 거의 없지만 너무 복잡함 - 부모 자식간에 충돌할 가능성이 큼 - 구현에 많은 부담을 주고 실행 속도 저하가 발생함 "따라서, 다중 상속이 아닌 Interface를 이용해 여러 특성을 상속 받음" [ex] using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Interface_Inheritance { class Program { static void Main(string[] args) { child ch = ne.. 2023. 9. 23. 이전 1 다음