본문 바로가기
반응형

공부55

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.
[Unity 2D] 캐릭터 움직임 구현 오늘은 간단하게 기초적인 움직임 구현을 만들어 보겠습니다.이동을 구현하는 방식에는 여러방식이 있지만, Input Axis를 이용하여 만들겠습니다.Unity - Input Axis를 사용한 움직임 구현Unity에서 입력을 다루는데 가장 일반적으로 사용되는 것 중 하나는 "Input Axis"입니다."Input Axis"는 사용자 입력에 대한 값들을 담고 있는데, 예를 들어 "Horizontal"과 "Vertical"은 주로 좌우와 상하 움직임에 사용됩니다. Horizontal 값은 보통 -1에서 1까지의 범위를 갖습니다. 만약 음수 값을 갖는 키를 누르면 왼쪽으로 이동하게 되고, 양수 값을 갖는 키를 누르면 오른쪽으로 이동합니다. Vertical도 비슷한 원리로 작동합니다. Rigidbody2D ?Rigi.. 2024. 5. 18.
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# - 이벤트헨들러 ( EventHandler ) 이벤트핸들러 ( EventHandler )개요이벤트 핸들러는 객체가 특정 이벤트가 발생했을 때 실행되는 메서드를 나타내는 개념입니다. 주로 GUI 프로그래밍에서 사용되며, 버튼 클릭, 키 입력 등의 사용자 동작에 대한 응답을 처리하는 데 사용됩니다.정의이벤트 핸들러는 이벤트가 발생했을 때 실행될 메서드를 나타내는 대리자(Delegate)입니다. 이벤트 발생 시에 등록된 핸들러 메서드가 호출되어 해당 이벤트에 대한 작업을 수행합니다.이벤트 핸들러를 사용하는 이유?이벤트 핸들러는 보통 플레이어의 입력을 감지하고, 해당 입력에 따라 캐릭터의 움직임이나 공격 등의 동작을 처리해야 합니다. 이를 위해 이벤트 핸들러를 사용하여 특정 입력이 발생했을 때 실행되는 메서드를 정의하고, 이를 통해 캐릭터의 상태를 변경하거.. 2024. 5. 15.
C# - 델리게이트 함수 ( Delegate ) 델리게이트 ( Delegate )개요델리게이트(Delegate)는 C#에서 함수 포인터와 유사한 개념으로, 메서드에 대한 참조를 보유하는 형식입니다. 이를 통해 메서드를 변수에 할당하고 다른 메서드에 전달할 수 있으며, 이벤트 처리, 비동기 작업 등 다양한 시나리오에서 유용하게 사용됩니다.정의델리게이트는 C#에서 메서드에 대한 참조를 나타내는 형식입니다. 이를 통해 메서드를 변수에 할당하고 다른 메서드에 전달할 수 있습니다. 델리게이트는 메서드의 시그니처를 정의하며, 해당 시그니처와 일치하는 메서드만 참조할 수 있습니다. 델리게이트는 대리자 역할을 수행하며, 이를 통해 이벤트 처리, 비동기 프로그래밍 등 다양한 기능을 구현할 수 있습니다.표현 방식델리게이트는 다음과 같은 형식을 따릅니다.delegate .. 2024. 5. 15.
C# - 람다식 ( Lambda ) 람다식 ( Lambda )개요람다 표현식은 함수형 프로그래밍 스타일을 C#에서 구현하기 위한 강력한 도구입니다. 이를 통해 코드를 간결하고 읽기 쉽게 만들 수 있습니다. 하지만 람다 표현식의 범위와 생명주기(scope and lifetime)에 대한 이해가 필요합니다.정의람다 표현식은 매개변수를 포함한 코드 블록을 정의하여 변수에 저장하거나 메서드의 인수로 전달할 수 있는 간단한 문법입니다. 람다 표현식은 익명 메서드와 유사하지만 더 간결하고 표현력이 높습니다.람다 표현식은 다음과 같은 기본 형식을 따릅니다.(parameters) => expression(int a, int b) => a + b표현 방식 단일 매개변수와 단일 식 x => x * x람다 표현식은 다양한 방식으로 표현할 수 있습니다. 이는 .. 2024. 5. 15.
C# - 싱글톤 패턴 (Singleton Pattern) | 디자인 패턴 싱글톤 패턴  ( Singleton Pattern )싱글톤 패턴은 프로그래밍에서 자주 사용되는 디자인 패턴 중 하나입니다. 이 패턴은 특정 클래스의 인스턴스가 오직 하나만 생성되고, 그 인스턴스에 대한 전역적인 접근 지점을 제공하여 여러 부분에서 쉽게 접근하고 수정할 수 있도록 돕습니다. 이것은 프로그램이 실행되는 동안에 오직 한 인스턴스만 생성되므로 데이터를 접근하고 수정하기가 매우 편리합니다. 하지만 싱글톤 패턴을 사용할 때에는 주의해야 할 점들도 있습니다. 이 패턴은 프로그램의 구조를 단순하게 만들 수는 있지만, 과용하면 프로그램을 복잡하게 만들고 디버깅이 어려워질 수 있습니다. 싱글톤 패턴의 구현은 다음과 같습니다.생성자를 private으로 선언: 클래스의 생성자를 private으로 선언하여 외부.. 2024. 5. 14.
728x90
반응형