전체 글
-
이벤트게임 개발 학원/C# 2024. 3. 11. 17:16
일련의 사건이 발생했다는~ 사실을 다른 객체한테 전달 1. 델리게이트 선언 2. 클래스 내에서 선언한 델리게이트 인스턴스를 event 한정자로 선언 3. 이벤트 핸들러 작성 (이벤트 핸들러는 선언한 델리게이트와 일치하는 메소드면 OK) 4. 클래스의 인스턴스를 생성하고 이 객체의 이벤트에 이벤트 핸들러 등록 5. 이벤트가 발생하면 이벤트 핸들러가 호출 --------------------------------------------------------------------------------------------------------------------------------------------- Delegate의 장단점 (직접적인 호출 가능) 장점 - 유연성 : 다양한 메소드를 동일한 델리게이트 변..
-
델리게이트 , 델리게이트 체인카테고리 없음 2024. 3. 11. 15:59
델리게이트 대리자 형식으로 변환될 수 있는 무명 메서드를 만듬 델리게이트 (콜백) : 실행된 시점에 부여하는 식 , 누군가를 대신해서 일해주는 매서드의 참조 , 특정 매개 변수 목록 및 반환 형식이 있는 함수에 대한 참조 대리자 인스턴스를 통해 함수를 호출할 수 있음 델리게이트는 메소드에 대한 참조 델리게이트에 메소드의 주소를 할당한후 델리게이트를 호출하면 이 델리게이트가 메소드르 호출해준다. 델리 게이트는 메소드에 대한 참조이기 대문에 자신이 참조할 반환 형식과 매개변수를 명시 한정자 delegatae 반환형식 델리게이트 이름(매개변수...) ------------------------------------------------------------------------------------------..
-
예외처리 (try, catch)게임 개발 학원/C# 2024. 3. 11. 15:20
try // 돌아가다가 { // 실행하려는 코드 // ㄴ 예외가 일어나지 않을경우의 실행되어야 할 코드 } catch (Exception) { // 예외가 발생했을때 처리할 코드가 // ㄴ 예외가 던져지면 여기서 받음 // ㄴ catch는 try에서 던질 객체와 형식이 동일해야한다 // ㄴ 만약 try에서 여러 종류의 예외를 던질 가능성이 있다면 catch도 여러개 있어야함 } throw 예외를 던질때 ex) 짝수를 판별하는 코드를 짰을때 작수라면 정상작동, 아니라면 throw를 통해 예외 던져주기 - FormatException: 인수의 형식이 올바르지 않거나 문자열에서 변환할 수 있는 적절한 형식이 아닐때 - IndexOutOfRangeException : 인덱스가 배열 또는 컬렉션의 범위를 벗어났을..
-
Generic게임 개발 학원/C# 2024. 3. 10. 20:59
일반화 메서드 일반화 클래스 클래스에 필요한 자료형을 일반화 클래스 인스턴스를 생성할때 자료형을 지정해서 사용 ------------------------------------------------------------------------------------------------------------------------------------------------------------- 일반화 자료형을 선언할때 제약 조건을 걸어줌으로써 사용당시 쓸 수 있는 자료형 제한 /타입 안정성 보장 where T : struct { } // struct로 제한(값 형식) where T : class { } // 클래스로 제한(참조 형식) where T : new() { } // 매개변수가 없는 생성자가 있는 자..
-
String게임 개발 학원/C# 2024. 3. 10. 16:45
string은 문자들의 집합으로 표현됨 내부적으로 문자 배열을 통해서 구현됨 [불변성(Immutable)] string은 특징상 다른 기본자료형과 다르게 크기가 정해져 있지 않음 char집합이기 때문에 char의 갯수에 따라 크기가 유동적 런타임시 크기가 결정이되고 그 크기는 일정하지 않음 string은 다른 기본 자료형과는 다르게 구조체가 아닌 클래스로 구현이 되어 있음 단, 기본 자료형과 같이 값 형식을 구현하기 위해 string 클래스 처리를 값 형식처럼 동작하도록 구현 이를 구현하기 위해 string간의 대입이 있을경우 참조에 의한 주소값 복사가 아닌 깊은복사를 진행 결과적으로 데이터 자체를 복사하는 값형식으로 사용하지만 힙영역을 사용하기 때문에 string이 설정되면 변경할 수 없도록 하는 불변..
-
디폴트 매개 변수, params, in ,out , ref게임 개발 학원/C# 2024. 3. 8. 17:59
디폴트 매개 변수 static void Addstudent(string name, string home, int age = 10) { // 초기값이 있는 매개변수는 맨끝부터 할당 (디폴트 매개변수는 맨뒤부터) } params 매개변수의 갯수를 유동적으로 사용할수 있음 동적으로 크기가 변하는 매개변수를 전달할 때, 배열 형태로 전달할때 in 매개 변수를 입력 전용으로 설정 in으로 설정된 매개변수는 해당 값을 읽을 수만 있고 수정이 불가능 out 매개 변수를 참조의 형태로 메서드 내에서 생성된 값을 반환할 때 사용 ref 매개 변수를 참조의 형태로 매개변수가 ValueType인 경우에도 함수를 통해서 원본값을 변경하고 싶을때 기존 변수를 메서드에서 수정하려 할 때 사용