본문 바로가기
반응형

C#13

C# - 파티셜 클래스 ( Partial class ) 파티셜 클래스 ( Partial Class )  C#은 실용적이면서도 강력한 언어로, partial class 같은 기능들은 개발을 훨씬 편하고 유연하게 만들어줍니다. 이런 기능들을 깊게 이해하고 활용하는 것이 개발자로서 중요한 부분이죠. partial class는 정말 유용한 기능입니다. 클래스를 여러 곳에서 정의할 수 있어서 코드를 조직화하고 유지보수하기 쉽게 만들어줍니다. 특히, Code Generator가 자동으로 생성하는 부분과 개발자가 직접 작성하는 부분을 분리할 때 partial class가 특히 유용하게 사용됩니다. 이렇게 하면 개발자는 자신이 신경 쓸 부분에만 집중할 수 있어요. 또한, 여러 명의 개발자가 한 클래스를 함께 작업할 때 발생할 수 있는 충돌을 방지하기 위해 partial c.. 2024. 5. 20.
C# - Struct ( 구조체 ) / Enum ( 열거형 ) 구조체( Struct )정의구조체(struct)는 여러 개의 변수를 하나의 그룹으로 묶어 관리할 수 있는 사용자 정의 데이터 타입입니다. C, C++, C#, Rust, Swift 등의 많은 프로그래밍 언어에서 사용되며, 서로 관련된 데이터를 하나의 논리적인 단위로 묶어줍니다. 개요구조체는 객체 지향 프로그래밍의 클래스와 유사하지만, 일반적으로 클래스보다 간단하고 가벼운 데이터를 관리할 때 사용됩니다. 구조체의 멤버는 다양한 데이터 타입을 가질 수 있으며, 이를 통해 복잡한 데이터 구조를 간편하게 정의할 수 있습니다. 열거형(Enum)정의열거형(enum)은 이름을 가진 상수들의 집합을 정의하는 사용자 정의 데이터 타입입니다. 열거형을 사용하면 코드의 가독성을 높이고, 특정 값들만 사용해야 하는 경우 이를.. 2024. 5. 19.
C# - 연결 리스트(Linked List) 연결리스트 ( Linked List )정의연결 리스트(Linked List)는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하는 데이터 구조입니다. 노드(Node)는 연결 리스트의 기본 단위로, 리스트의 요소를 표현합니다. C#에서는 LinkedList 클래스를 제공하여 연결 리스트를 쉽게 사용할 수 있습니다.개요연결 리스트는 배열과 달리 요소가 연속된 메모리 위치에 저장되지 않고, 각 요소가 포인터로 연결되어 있습니다. 이 때문에 연결 리스트는 요소의 삽입과 삭제가 배열보다 효율적일 수 있습니다. 연결 리스트에는 다음과 같은 유형이 있습니다:단순 연결 리스트(Singly Linked List): 각 노드가 다음 노드에 대한 포인터만 가짐.이중 연결 리스트(Doubly Linked List): .. 2024. 5. 18.
C# 팩토리 패턴 (Factory Pattern) 팩토리 패턴 ( Factory Pattern )정의팩토리 패턴은 객체 생성의 인스턴스화 로직을 별도의 클래스나 메서드로 분리하여 객체 생성을 캡슐화하는 디자인 패턴입니다. 이를 통해 클라이언트 코드가 객체 생성의 구체적인 클래스에 의존하지 않게 하고, 객체 생성의 로직을 재사용할 수 있게 합니다.개요팩토리 패턴은 객체 지향 프로그래밍에서 객체 생성을 별도의 클래스나 메서드로 분리하여 객체 생성의 책임을 캡슐화하는 생성 패턴입니다. 이를 통해 클라이언트 코드가 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 객체를 생성하도록 합니다. 팩토리 패턴은 객체 생성을 중앙에서 관리하며, 객체 생성 로직의 변경이 필요할 때 클라이언트 코드를 수정하지 않아도 되도록 유연성을 제공합니다. 또한, 코드의 재사용성을 .. 2024. 5. 18.
Unity - 이벤트시스템 ( EventSystem ) Unity - 이벤트시스템 ( EventSystem )Event System은 Unity의 UI 시스템에서 사용자 입력(마우스 클릭, 터치, 키보드 입력 등)을 처리하는 핵심적인 구성 요소입니다. 이를 통해 게임 내의 UI 요소들이 사용자와 상호작용할 수 있습니다. Event System은 UnityEngine.EventSystems 네임스페이스에 포함되어 있으며, 여러 컴포넌트와 함께 작동하여 다양한 입력 이벤트를 처리합니다. Q/A : 유니티가 갑자기 마우스 클릭이 안 돼요!유니티  Hierarchy 창에 EventSystem이 있는지 확인합니다. 만약 EventSystem이 없다면 마우스 클릭이 안될 수 있습니다. 만약 없다면 'UI > Event System'을 추가하시면 됩니다.Event Sys.. 2024. 5. 17.
C# - 캐스팅 |업캐스팅(UpCasting), 다운캐스팅(DownCasting) 캐스팅 ( Casting )업캐스팅(Upcasting)과 다운캐스팅(Downcasting)은 객체 지향 프로그래밍에서 클래스 계층 구조 내에서 객체의 타입을 변환하는 방법입니다. 이 두 가지 캐스팅 방법은 부모 클래스와 자식 클래스 간의 관계를 다루며, 유연한 코딩을 가능하게 합니다. 이 글에서는 업캐스팅과 다운캐스팅의 개념, 정의, 표현 방식, 장점, 단점, 그리고 예시를 통해 쉽게 이해할 수 있도록 설명하겠습니다.정의업캐스팅 (Upcasting)업캐스팅은 자식 클래스의 객체를 부모 클래스 타입으로 변환하는 것을 의미합니다. 이는 암묵적으로 수행되며, 명시적인 캐스팅 없이도 가능합니다. 업캐스팅을 통해 자식 클래스 객체를 부모 클래스 타입의 변수에 할당할 수 있습니다.다운캐스팅 (Downcasting).. 2024. 5. 16.
C# - 상속 ( Inheritance ) 상속 ( Inheritance )개요상속은 객체 지향 프로그래밍(OOP)에서 중요한 개념으로, 기존 클래스를 재사용하고 확장할 수 있는 방법을 제공합니다. 상속을 통해 코드의 재사용성을 높이고 클래스 간의 관계를 명확히 할 수 있습니다.정의상속(Inheritance)은 하나의 클래스가 다른 클래스의 속성과 메서드를 물려받아 재사용하고 확장할 수 있도록 하는 기능입니다. 이를 통해 코드의 중복을 줄이고, 유지보수를 용이하게 할 수 있습니다. 상속을 받는 클래스를 파생 클래스(Derived Class) 또는 **자식 클래스(Child Class)**라고 하고, 상속을 제공하는 클래스를 기본 클래스(Base Class) 또는 **부모 클래스(Parent Class)**라고 합니다.기본개념기본 클래스(Base .. 2024. 5. 16.
C# -프로퍼티 ( Property ) 프로퍼티 ( Property )개요프로퍼티(Property)는 객체 지향 프로그래밍(OOP)에서 중요한 개념으로, 클래스의 데이터를 안전하게 관리하고 외부에서의 접근을 제어하는 방법을 제공합니다. 프로퍼티는 클래스의 필드에 간접적으로 접근할 수 있도록 하여 데이터 무결성을 유지하고 코드의 가독성을 높입니다.정의C#에서 프로퍼티는 클래스의 내부 데이터를 외부에서 안전하게 접근하고 수정할 수 있는 메서드입니다. 프로퍼티는 get과 set 접근자를 사용하여 값을 읽고 쓸 수 있습니다. get 접근자는 프로퍼티의 값을 반환하고, set 접근자는 프로퍼티의 값을 설정합니다.get과 set 접근자get : 프로퍼티의 값을 반환하는 메서드입니다. 프로퍼티를 읽을 때 호출됩니다.set : 프로퍼티의 값을 설정하는 메서.. 2024. 5. 16.
C# - 이벤트헨들러 ( EventHandler ) 이벤트핸들러 ( EventHandler )개요이벤트 핸들러는 객체가 특정 이벤트가 발생했을 때 실행되는 메서드를 나타내는 개념입니다. 주로 GUI 프로그래밍에서 사용되며, 버튼 클릭, 키 입력 등의 사용자 동작에 대한 응답을 처리하는 데 사용됩니다.정의이벤트 핸들러는 이벤트가 발생했을 때 실행될 메서드를 나타내는 대리자(Delegate)입니다. 이벤트 발생 시에 등록된 핸들러 메서드가 호출되어 해당 이벤트에 대한 작업을 수행합니다.이벤트 핸들러를 사용하는 이유?이벤트 핸들러는 보통 플레이어의 입력을 감지하고, 해당 입력에 따라 캐릭터의 움직임이나 공격 등의 동작을 처리해야 합니다. 이를 위해 이벤트 핸들러를 사용하여 특정 입력이 발생했을 때 실행되는 메서드를 정의하고, 이를 통해 캐릭터의 상태를 변경하거.. 2024. 5. 15.
728x90
반응형