캡슐화4 [C#/Unity][디자인패턴] 퍼사드 패턴(Facade Pattern) 1. 퍼사드 패턴이란? - 복잡한 객체 구조에 대한 간략화된 인터페이스를 클라이언트에게 제공하는 패턴 - 사용자가 굳이 알아야 할 필요가 없는 내부 구조 등을 숨기는 패턴 - 클래스 라이브러리와 같은 대규모의 코드를 사용하기 위한 간략한 인터페이스를 제공하는 패턴 - 어떤 서브시스템의 인터페이스에 대한 통합된 인터페이스를 제공하는 패턴 - '건물의 정면' 이라는 ' Facade'의 뜻처럼, '복잡한 시스템의 앞면' 이라는 의미로 사용된다. 2. 퍼사드 패턴을 사용하는 경우 - 수십 가지의 기능이 있는 정교한 라이브러리와 통합해야 하지만 그 기능의 극히 일부만을 필요로 하는 경우 - 하위시스템의 각 계층에 대한 진입점을 정의하기 위해 사용 - 복잡한 시스템을 간편하게 다루고 싶을 때 사용 3. 퍼사드 패턴.. 2023. 11. 30. [C#][Study][기초다지기] 캡슐화와 추상화 캡슐화와 추상화 - 클래스나 인터페이스 외부에서 멤버를 숨기는 목적 - 사용자에게 관련 없는 데이터를 숨기는 프로세스 - 필수 기능만 표시하는 목적 - 사용자에게 관련 데이터만 표시하는 메커니즘 ex) 휴대폰 - 캡슐화 : 휴대폰 내부의 동작이 어떻게 진행되는지 사용자는 모름 - 추상화 : 사용자는 휴대폰 외부에서 다양한 유형들의 필수 기능을 사용 가능 2023. 9. 23. [면접 준비] OOP란 무엇인가? 1.OOP - OOP(Object Oriented Programming)란 객체 지향 프로그래밍을 뜻한다. - 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 사용한다. - 객체들이 서로 유기적으로 상호작용하는 특징이 있다. - 대표적으로 Java와 C#이 있다. cf) 객체 - 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹 - ex) 컴퓨터(객체) -> 데이터(본체, 모니터, 키보드) + 기능(화면, 소리, 입력, 출력) 2. OOP의 장점 1) 코드 재사용성 증가 - 상속을 통해 프로그래밍시 코드의 재사용을 높일 수 있음. 2) 생산성 향상 - 잘 설계된 클래스를 만들어서 독립적인 객체를 사용함으로써 개발의 생산성을 향상시킬 수 있음. 3) 자연적인 모델링 - 우리 일상생활의 모습의.. 2023. 7. 29. [개발더미][Unity] 추상 클래스 using System.Collections; using System.Collections.Generic; using UnityEngine; // 추상 클래스를 사용한 이유 // 1. 설계도 역할 -> 몬스터와 플레이어의 공통 특성을 파악(추상화) // 2. 캡슐화 -> 변수를 드러나지 않게 함(데이터 보호) // 3. 상속 -> 중복 코드 최소화 // 4. 다형성 -> 오버라이드 사용 public abstract class CommonProperties : MonoBehaviour { protected enum State { Idle, Move, Attack, Dead } [SerializeField] protected State myState; protected abstract void ChangeS.. 2023. 7. 24. 이전 1 다음