
델리게이트 C#에서 이 델리게이트는 콜백을 구현하기 위해 사용이 된다. 델리게이트는 메소드에 대한 참조이다. 델리게이트에 메소드의 주소를 할당한 후 델리게이트를 호출하면 이 델리게이트가 메소드를 호출해준다. 한정자 delegate 반환형식 델리게이트명(매개변수); 델리게이트는 delegate 키워드를 제외하고는 메소드와 매우 유사하다. 메소드의 참조이기 때문에 자신이 참조할 메소드의 반환 형식과 매개 변수를 명시해줘야 한다. 한가지 알아둬야 할 것은 델리게이트는 인스턴스가 아닌 형식(Type)이라는 것이다. int, string과 같은 형식이다. 따라서 메소드를 참조하기 위해서는 인스턴스를 따로 만들어야 한다. delegate double TestDelegate(double num1, double num..
일반화 어떤 특수한 개념으로부터 공통된 개념을 찾아 묶는 것을 말한다. 일반화 프로그래밍이 일반화 하는 대상은 데이터 형식(Type)이다. 일반화 메소드 이름처럼 데이터 형식을 일반화한 메소드. 선언을 하는 방법은 다음과 같다. 한정자 반환형식 메소드명(매개 변수) { } 다음 예제는 내용은 같지만 두개의 메소드로 분리가 되어있다. 이것을 일반화 메소드를 사용해서 하나로 합친 후 확장성을 넓힐 수 있다. 굳이 데이터 형식마다 메소드를 오버로딩 할 필요가 없어지게 된다. void CopyData(int data1, int data2) { data1 = data2; } void CopyData(double data1, double data2) { data1 = data2; } 위 코드에서 데이터 형식 부분을..
컬렉션이란 같은 성격을 띄는 데이터의 모음을 담은 자료구조이다. .NET 프레임워크는 많은 컬렉션 클래스를 제공을 한다. 그 중 가장 자주 사용되는 것은 다음 4가지 클래스이다. 1. ArrayList 2. Queue 3. Stack 4. Hashtable ArrayList 가장 배열과 닮은 컬렉션이다. 요소에 접근할 때는 [] 연산자를 이용해 특정 인덱스에 접근하고, 데이터를 할당할 수 있다. 배열과는 달리 생성할 때 용량을 미리 지정할 필요가 없이 필요에 따라 자동으로 늘고 줄고 한다. Add() 컬렉션의 가장 마지막에 있는 요소 뒤에 새 요소 추가 RemoveAt() 특정 인덱스의 요소 제거 Insert() 특정 위치에 새 요소 삽입 ArrayList array = new ArrayList(); a..
은닉성과 편의성 둘 다 잡을 수 있는 문법이 프로퍼티이다. class ClassName { private int num1; public int Num1 { get { return num1; } set { num1 = value; } } } 프로퍼티 선언 문법에서 get/ set을 접근자(accessor)라고 한다. get은 필드의 값을 가져오고 set은 필드의 값을 할당한다. 외부에서 이 프로퍼티에 접근해서 값을 할당하는 것을 막고 싶다면 단순하게 set 접근자를 지워주기만 하면 된다. 위 코드처럼 작성을 하면 코드가 엄청 길어지고 중복 코드가 엄청 많은 기분이 들게 된다 그래서 C# 3.0버전에서 자동 구현 프로퍼티라는 것을 도입을 했다. class ClassName { public int Num1 {..
인터페이스란? interface 인터페이스명 { 반환형식 메소드명(매개변수); . . } 인터페이스의 선언은 클래스의 선언과 유사하다. 인터페이스는 메소드, 이벤트, 인덱서, 프로퍼티만 가질 수 있고 구현부는 구현하지 못한다. 접근 제한 한정자를 사용할 수 없고 모든 것이 public으로 선언된다. 게다가 인스턴스도 만들 수 없다. 다만 인터페이스를 상속받는 클래스의 인스턴스를 만드는 것은 가능하다. 인터페이스를 상속받는 클래스의 인스턴스 만드는법 - 인터페이스에 선언되어 있는 모든 메소드 및 프로퍼티 구현 - public으로 수식해야 한다. 아래와 같이 사용을 하면 된다. interface ILogger { void WriteLog(string log); } class ConsoleLogger : IL..
- Total
- Today
- Yesterday
- Link
- 안드로이드 스튜디오
- visual studio code
- 차이점
- C언어
- 정렬
- 문자열
- 생활코딩#MySQL
- 동영상을
- GRID
- inline
- HTML
- 글로
- 네트워크 프로그래밍
- css
- 언리얼엔진
- 생활코딩#동영상을#글로#html
- php
- 기초
- 객체
- TAG
- 선택자
- 알고리즘
- 생활코딩
- 변수
- 조건문
- javascript
- PHP&MySQL
- 관계형데이터베이스
- 언리얼엔진4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |