c# language 6

21
C# LANGUAGE - 6 GROW Common Study

Upload: -

Post on 13-Apr-2017

65 views

Category:

Software


0 download

TRANSCRIPT

Page 1: C# language   6

C# LANGUAGE - 6GROW Common Study

Page 2: C# language   6

CONTENTS Method Property Special Methods

Virtual/Override Method New Method Coroutine Method Asynchronized Method Unnamed Method (Lambda)

Special Properties Automatic Property Indexer

Page 3: C# language   6

METHODGROW Common Study

Page 4: C# language   6

METHOD 메소드 ≒ 함수

메서드는 객체에 보내는 메시지이다 예 ) A 객체의 Run 함수 호출 시 A 객체의 Run 을 시작하도록 명령한다 함수

Page 5: C# language   6

PROPERTYGROW Common Study

Page 6: C# language   6

PROPERTY 프로퍼티 ( 속성 )

사용하는 방법은 필드 , 구현하는 방법은 메서드인 객체의 주요 구성 요소 중 하나 주로 필드를 외부로 노출시키지 않기 위해 사용한다 객체 지향 프로그래밍을 배우면서 한번쯤은 작성해보는 get-

ter, setter 로 적용한다 단 , 둘 중 하나만 있어도 무관

Page 7: C# language   6

SPECIAL METHODSGROW Common Study

Page 8: C# language   6

SPECIAL METHODS Virtual/Override Method

Virtual 가상 함수라고 불리는 메서드 상속 관계에서 새로 같은 메서드를 재정의해야 할 필요가 있을 때 사용한다

Override 상속 받은 클래스에서 어떤 메서드를 재정의 및 구현하는 것을 오버라이드 (Override) 라고 한다 단 , 오버라이드된 메서드는 하향 캐스팅돼도 오버라이드된 메서드가 호출된다

Page 9: C# language   6

SPECIAL METHODS Virtual/Override Method

Page 10: C# language   6

SPECIAL METHODS New Method

Override 와 달리 , 재정의 하는 함수는 해당 클래스에 대해서만 사용 가능한 오버라이드 기법

Page 11: C# language   6

SPECIAL METHODS Coroutine Method

코루틴 메서드는 반환형이 반드시 IEnumerable 이어야 한다 코루틴 메서드는 반환된 IEnumerable 을 한번 Next 할 때마다 실행된다 반환은 yield return 으로 수행한다

단 , 반환 값은 반드시 존재해야 하며 , 함수를 끝내려면 기존과 동일하게 return 으로 한다

Page 12: C# language   6

SPECIAL METHODS Asynchronized Method

비동기적으로 수행되는 메서드 C# 5.0 주요 기능 단 , 작동은 GUI 환경에 한함

예 ) GUI 환경에서 어떤 메서드가 호출되면 해당 메서드가 끝날 때까지 프로그램은 멈춤 상태가 되고 , 그러면 응답 없음 상태가 되기도 한다 이 때 비동기 메서드를 사용하면 메서드가 끝나기 전에도 프로그램이 멈춤 상태가 되지 않는다

이 메서드는 추후 GUI 를 다룰 때 다시 다시 다룸

Page 13: C# language   6

SPECIAL METHODS Unnamed Method

이름이 없는 메서드 어떤 클래스에 종속되지 않는다 두 가지 형태가 존재한다

델리게이트 표현식 람다 표현식

이름 없는 메서드는 변수에 저장하여 사용하거나 , 이벤트에 담아서 사용한다 event 는 추후 다시 다룸

Page 14: C# language   6

SPECIAL METHODS Unnamed Method

델리게이트 (Delegate) 메서드를 담을 수 있는 자료형 기본 델리게이트로 Action 과 Func 가 주어진다

Page 15: C# language   6

SPECIAL METHODS Unnamed Method

Page 16: C# language   6

SPECIAL PROPER-TIES

GROW Common Study

Page 17: C# language   6

SPECIAL PROPERTIES Automatic Property

getter 및 setter 를 직접 구현하지 않아도 자동으로 구현해주는 기능 자동 구현 시 생성되는 필드에는 접근이 아예 불가능하며 제어는 프로퍼티를 통한 방법 외에는 불가능하다

Page 18: C# language   6

SPECIAL PROPERTIES Indexer

변수와 같은 방법으로 접근할 수 있는 방법을 제공한다 숫자 외에도 문자열 등등을 적용할 수도 있다

Page 19: C# language   6

HOMEWORKGROW Common Study

Page 20: C# language   6

HOMEWORK 다음과 같은 인터페이스를 가지는 자료구조를 완성하라

Set 클래스를 구현하면 된다

Page 21: C# language   6

HOMEWORK 결과물

참고 ) 구현할 필요 없는 메서드 있음 ㅇ _<