분류 전체보기 (62) 썸네일형 리스트형 C# Delegate, Event 1. 델리게이트 C#에서 델리게이트란 메서드를 참조하고 호출하는데 사용되는 형식이다. 데리게이트는 메서드에 대한 참조를 보유하고 있고 해당 메서드를 호출할 수 있다. 이를 통해 메서드를 캡슐화하고 다른 메서드에 전달하거나 이벤트 처리 등에 유용하게 활용할 수 있다. 델리게이트를 사용하기 위해선 delegate 키워드를 사용한다. delegate 반환형 이름(매개 변수); 위의 형태를 따라서 선언하며 참조하고자 하는 메소드의 경우 델리게이트의 반환형, 매개변수가 동일해야 참조가 가능하다. 해당 예제에서는 PDelegate란 이름으로 델리게이트를 선언 후 Plus 메소드를 해당 델리게이트에 참조 시켜 출력한다. 이를 통해 Plus 메서드를 PDelegate가 참조하고 있다는 것을 알 수 있다. 델리게이트 .. C# 메서드 1. 메서드 클래스내에 코드 블럭을 실행시키는 함수를 메서드라 칭한다. 메서드는 0부터 N개 까지의 인수를 가질 수 있고 리턴 값을 가질수 도 있다. 아래의 형식에 따라 작성한다. 접근제한자 리턴타입 이름() { } 2. 작성법 작성은 클래스 내부에 작성하며 Main 메서드에서 Print 메서드를 호출하는것 만으로 출력을 할 수 있다. 비슷한 코드이지만 인자를 설정함으로써 전달하는 값에 따라 출력 값을 다르게 할 수 있다. 해당 예제는 int로 리턴하는 메서드이고, 전달받은 값에 +10을 한뒤 리턴하는 메서드이다. 인수가 하나 이상일 경우 이름을 지정해서 전달하거나 순서에 맞게 전달하여 사용한다. 만약 메서드의 인수에 디폴트 값을 설정한 것을 Optional 파라미터라고 한다. int age = 1 을.. C# Nullable 타입 1. Nullable 타입 C#에서 Value Type 같은 경우 Null을 가질 수 없다. 예를들어 int, bool 과 같은 타입에는 null를 할당하지 못한다. 하지만 Nullable 타입을 활용한다면 null을 할당할 수 있는데, Value 값을 가지면서 Null 상태를 체크할 수 있는 NHasValue를 가지고 있는 struct 이다. 2. 작성법 일반적으로 int i = 0; 으로 value 타입을 선언하지만 int? i = null; 을 사용하는 것으로 null을 할당할 수 있다. 타입뒤에 ? 키워드를 붙여 사용하는 것이다. 이는 Nullable 와 동일한 효과를 지닌다. int num = null; 은 에러를 발생시키지만 int? num = null; 은 에러를 발생시키지 않는다. 또한 N.. C# 클래스 1. 클래스 C#의 class 키워드는 Reference Type을 정의하는데 사용된다. 클래스는 메서드, 속성, 필드, 이벤트등을 포함하는 단위로서 객체를 생성하는 설계도의 역할을 한다. 내부 필드의 접근제한자를 설정하여 외부의 접근을 차단하거나 허용할 수 있다. 해당 예제에서는 Student 클래스를 선언하고 Main 메소드를 가지는 Program 클래스를 선언하였다. Student 클래스 내부에는 private 로 선언된 name과 age가 있다. 이는 객체 지향의 원칙을 준수하는 간접적 접근을 위한 외부의 직접적으로 값 변경을 막기위함이다. public으로 Name, Age 메소드를 선언하고 각 메소드 내부에 get과 set을 통해 값을 설정하거나 출력할 수 있도록 작성했다. 또한 GetStude.. C# 구조체 1. 구조체 C#에서는 Value Type 과 Reference Type을 지원한다. 생성시 struct 키워드를 사용하면 Value로 생성할 수 있고, class를 사용하면 Reference로 생성 가능하다. 기본 데이터 타입 : int, double, float, bool 등은 struct로 정의되어 있는 value type 이고, 주로 값을 저장하는데에 사용된다. 또한 상속을 하지 못하고, 기본생성자를 가지지 못하기 때문에 필드를 초기화 해줘야한다. Reference 타입의 경우 class로 정의하여 생성하고 상속이 가능해 진다. 복잡한 데이터와 행위들을 정의하는곳에 사용한다. 2. 사용 class Program 내부에 MyPoint 라는 구조체를 선언하고, 생성자를 선언해 new 키워드로 생성시 .. C# 네임스페이스 1. 네임스페이스 .NET Framework의 정의되어 있는 많은 클래스들을 가지고 있고, 이러한 클래스들을 충돌없이 보다 편리하게 관리하기 위해 네임스페이스를 사용한다. 네임스페이스는 여러개의 클래스를 가질 수 있고 그로 인해 여러개의 클래스를 관리 할 수 있다. 또한 하나의 파일에 여러개의 네임스페이스를 선언함으로써 동일한 효과를 지닌다. 2. 사용법 네임스페이스를 사용하기 위해서는 두가지 방식이 있다. 클래스명 앞에 네임스페이스를 적거나, using 키워드를 사용하여 파일 내부에서 활용하는 경우가 있다. 예시 코드에서는 여러개 네임스페이스를 선언하고 네임스페이스 안에 클래스를 선언했다. main 메소드에 클래스명은 동일하지만 네임스페이스를 다르게 함으로써 동일한 클래스명에 대한 선언을 할 수 있고,.. C# 예외처리 1. 예외 처리 C#의 Exception은 .NET Framework의 Exception 메커니즘에 따라 Exception을 처리한다. System.Exception을 Base로 하고 하위에 다른 여러가지 종류의 Exception이 있다. try-catch-finally 순으로 나뉘며 try 안에는 Exception 발생 예상 코드, catch 는 발생시 작동될 코드, finally는 Exception의 발생여부와 상관없이 실행되는 코드 블럭이다. try { 실행 코드 } catch (Exception e) { 예외처리 구문 } finally { 마지막 실행 구문 (무조건 실행됨) } 예시 코드에서는 임의로 런타임에러를 발생시켜 Exception 처리가 되는지 확인한다. 만약 Exception 처리를 .. C# 반복문 1. for 반복문 for 문은 조건을 주고 그 조건을 루프하면서 반복시키는 구문이다. 주로 for (int i = 0; i < 10; i++){} 의 형태로 사용하며 i를 코드 내부 인자로 사용하는 경우가 많다. 해당 예제는 0부터 99까지의 합을 구하는 코드이다. i를 0으로 설정하고 i에 증감연산자인 ++를 통해 1씩 증가시키면서 i가 100이 됐을때까지 반복하며 해당 i 값을 sum에 저장하는 간단한 예제이다. 2. foreach foreach 문은 List 또는 배열에 주로 사용된다. 배열의 요소를 하나씩 꺼내서 사용하고 더이상 남아있지 않을때까지 반복한다. 해당 예제는 arr 배열을 선언하고 foreach 구문을 사용하여 순차적으로 값을 꺼내서 출력하는 코드이다. for 구문으로도 동일한 작동.. 이전 1 2 3 4 5 6 7 8 다음