Humility

아무리 노력해도 최고가 되지 못할 수 있다⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀그럼에도 노력하는자가 가장 겸손한 것 아닌가

공부하는 블로그
반응형

유니티/문법 23

[Unity] 유니티 C#) async와 코루틴의 차이

async/await와 코루틴의 주요 차이점 1. 반환값 처리// 코루틴 - 직접적인 반환값을 받을 수 없음IEnumerator LoadDataCoroutine(){ yield return new WaitForSeconds(1f); string data = "데이터"; // 반환값을 직접 받을 수 없어서 다른 변수나 콜백으로 처리해야 함}// async - 직접 반환값을 받을 수 있음async Task LoadDataAsync(){ await Task.Delay(1000); return "데이터"; // 직접 반환 가능}2. 예외처리// 코루틴 - try-catch 사용 불가IEnumerator ErrorCoroutine(){ yield return new WaitForS..

유니티/문법 2025.01.22

[Unity] 유니티 C#) async/await

async/await 이란?비동기 프로그래밍을 쉽게 구현할 수 있게 해주는 기능 유니티에서는 코루틴 대신 사용할 수 있는 좋은 대안이다 async의 핵심 정의메서드나 람다 표현식을 비동기 메서드로 지정하는 키워드async가 붙은 메서드는 내부에서 await를 사용할 수 있음컴파일러에게 "이 메서드는 비동기적으로 실행될 수 있다"라고 알려주는 역할을 함반환 타입으로 Task, Task, void를 사용할 수 있음 예시코드public async Task DoSomethingAsync(){ // 비동기 코드 작성 가능}await의 핵심 정의비동기 작업이 완료될 때까지 현재 메서드의 실행을 일시 중단하는 키워드await는 반드시 async 메서드 내부에서만 사용할 수 있음작업이 완료되면 await 이후의 ..

유니티/문법 2025.01.21

[Unity] 유니티 C#) Property ( 프로퍼티 )

프로퍼티란? 객체 지향 프로그래밍 언어에서 객체의 속성을 의미하는 용어 프로퍼티와 캡슐화캡슐화란? 데이터(변수)와 해당 데이터를 처리하는 메서드들을 하나로 묶어서 관리하는 것 특징외부에서 직접적인 접근을 제한하고, 정해진 방법으로만 접근하도록 만드는 것이다"중요한 데이터를 보호하는 포장지"라고 생각하면 된다 예시public class Player{ private int health; // 직접 접근 불가능 // health는 이 메서드들을 통해서만 수정 가능 public void TakeDamage(int damage) { health -= damage; if(health 100) health = 100; }}프로퍼티란? 필드(변수)에 접근할 ..

유니티/문법 2025.01.20

[Unity] 유니티C#) Struct ( 구조체 )

구조체란?여러 데이터를 하나로 묶어서 관리할 수 있게 해주는 사용자 정의 데이터 타입 실생활로 예시를 들어보자학생 정보를 예시로 든다면, 학생의 이름, 나이, 번호을 하나로 묶어서 "학생" struct로 만들 수 있다게임으로 예를 든다면 체력,마나,공격력을 하나로 묶어서 "스탯" struct를 만들 수 있다 간단예시// 학생 정보를 담는 structstruct Student { public string name; // 이름 public int age; // 나이 public int studentId; // 학번}// 실제 사용Student newStudent;newStudent.name = "김철수";newStudent.age = 20;newStudent.student..

유니티/문법 2025.01.17

[Unity] 유니티 C#) Casting ( 형변환 )

형변환 이란? 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 것 형변환의 종류암시적 형변환 ( 자동 형변환 )int num = 10;float floatNum = num; // int → float 자동 변환long longNum = num; // int → long 자동 변환 사용 시기작은 크기의 데이터 타입에서 큰 크기로 변환할 때데이터 손실의 위험이 없어 자동으로 변환됨명시적 형 변환 ( 강제 형변환 )float floatNum = 10.5f;int num = (int)floatNum; // float → int 강제 변환// 10이 저장됨 (소수점 이하 손실) 사용시기큰 크기의 데이터 타입에서 작은 크기로 변환할 때데이터 손실의 가능성이 있어 명시적으로 변환해야 함사용 예시기본 데이터 타..

유니티/문법 2025.01.16

[Unity] 유니티 C#) try-catch문 ( 예외처리 )

try-catch문이란?프로그램 실행 중 발생할 수 있는 오류(예외)를 처리하기 위한 구문  예상치 못한 상황이 발생했을 때 프로그램이 강제로 종료되는 것을 방지하고, 적절한 대응을 할 수 있게 해준다기본 구조try { // 예외가 발생할 수 있는 코드} catch (예외종류) { // 예외가 발생했을 때 실행할 코드} finally { // 예외 발생 여부와 관계없이 항상 실행되는 코드}예외처리를 사용하는 이유1. 프로그램의 안정성 확보public class FileManager : MonoBehaviour{ // 예외처리가 없는 경우 public void SaveWithoutTryCatch(string data) { // 파일 저장 실패시 프로그램이 강제 ..

유니티/문법 2025.01.15

[Unity] 유니티 C#) LINQ ( Language Integrated Query )

LINQ란? C#에서 데이터 쿼리를 위한 통합 프로그래밍 모델로, 다양한 데이터 소스(컬렉션, XML, 데이터베이스 등)에 대해 일관된 방식으로 쿼리를 작성할 수 있게 해주는 기능 예를 들어, 도서관에서 책 찾기를 생각하면 쉽다 "2000년 이후에 출간된 소설책만 찾아줘""가격이 2만원 이하인 책들을 가격 순으로 정렬해줘""과학 분야 책들의 평균 가격을 계산해줘"  복잡한 for문이나 if문을 여러 번 사용하여 찾을 수도 있지만,LINQ를 사용하면 더욱 쉽고 직관적으로 처리할 수 있다. 예시// 체력이 50% 이하인 적 캐릭터들 찾기var weakEnemies = enemies.Where(enemy => enemy.health player.score);  쉽게 말해 "데이터를 검색하고 정리하는 만능 도..

유니티/문법 2025.01.14

[Unity] 유니티 C#) 전처리문 (Preprocessor Directives)

전처리문이란? 코드가 컴파일되기 전에 처리되는 특별한 지시문 간단한 예시#if DEBUGDebug.Log("디버그 모드입니다");#endif 위 코드에서 #if DEBUG는 "만약 DEBUG 모드라면" 이라는 의미이다컴파일러는 이 코드를 실행하기 전에 먼저 확인한다  DEBUG 모드로 설정되어 있다면? Debug.Log() 코드가 남아있게 된다 DEBUG 모드가 아니라면? 이 코드는 완전히 제거되어 최종 프로그램에 포함되지 않습니다전처리문의 주요 특징'#' 기호로 시작한다컴파일 전에 처리된다조건부로 코드를 포함하거나 제외할 수 있다플랫폼별 다른 코드를 작성할 때 자주 사용된다실제 활용 방법void Start(){ #if UNITY_ANDROID // 안드로이드 전용 코드 S..

유니티/문법 2025.01.13

[Unity] 유니티 C#) Event ( 이벤트 ), Action ( 액션 )

주요 이벤트 3가지 1. UnityEvent기본 개념UnityEvent는 Unity에서 제공하는 이벤트 시스템으로,Inspector에서 시각적으로 이벤트를 연결하고 관리할 수 있게 해주는 메커니즘  기본 사용법// UnityEvent 정의public UnityEvent onGameStart;// 이벤트 발생void StartGame() { onGameStart.Invoke();}// 이벤트 구독void OnEnable() { onGameStart.AddListener(HandleGameStart);} 2. C# Evnet기본 개념 "특정 상황이 발생했음" 을 다른 클래스에게 알리는 메커니즘  기본 사용법// 이벤트 정의public event Action onScoreChanged;// 이벤트 ..

유니티/문법 2025.01.08

[Unity] 유니티 C#) Delegate ( 델리게이트 ), Anonymous Method (익명 메서드) ,Lambda ( 람다 )

델리게이트란? 메소드를 참조하는 타입으로, 메소드를 변수처럼 저장하고 전달할 수 있게 해주는 기능 특징메소드를 참조할 수 있는 타입타입 안정성 보장체인(다중 델리게이트)이 가능메소드 시그니처가 일치해야 함사용하는 이유콜백 메커니즘 구현이벤트 처리메소드를 매개변수로 전달유연한 코드 설계활용 사례이벤트 시스템비동기 프로그래밍플러그인 아키텍처예시 코드public class PlayerSystem : MonoBehaviour{ // 델리게이트 정의 public delegate void PlayerStatusChanged(int health, int mana); public event PlayerStatusChanged OnStatusChanged; private int health = 10..

유니티/문법 2025.01.07
반응형