열거형

열거형은 특수한 클래스로, 개수가 고정된 상수 집합을 표현할 때 사용합니다. 모든 열거형은 자동으로 Enum 클래스를 상속받습니다. 또한 열거형은 봉인 타입(sealed)이므로 상속하거나 구현, 믹스인할 수 없고 명시적으로 직접 인스턴스를 생성할 수도 …

Mixins

Mixin이란 무엇인가 Mixin은 코드 재사용 기법으로, 서로 상속 관계 없는 클래스 계열에서 코드를 공유할 수 있게 해줍니다. 여러 클래스에 일괄적으로 멤버 구현을 제공하는 것이 목표입니다. 다중 상속과 비슷해 보이지만, 본래 …

클래스 상속과 멤버 재정의

클래스 상속 Extend a class extends 키워드를 사용해 부모 클래스(상위 클래스)로부터 자식 클래스(하위 클래스)를 파생합니다. super 키워드를 이용하면 자식 클래스 안에서 부모 클래스의 멤버(메서드, 생성자 등)를 호출할 수 있습니다. 예를 …

매개변수

매개변수는 형식 매개변수와 실제 매개변수로 나뉩니다 형식 매개변수 형식 매개변수의 영문 명칭은 Formal Parameter이며 보통 형인자, 매개변수라고 부릅니다. 형식 매개변수는 메서드 선언 괄호 안에 작성하는 특수한 지역 변수로, 메서드 본문 …

지역 함수

영어로는 Local Functions라고 부르며, C# 7.0 버전부터 지원하기 시작한 기능입니다. 앞서 메서드 호출에 대해 배웠습니다. 메서드 코드 블록 안에서 다른 메서드를 호출할 수 있으며 규칙은 다음과 같습니다. C# 7.0부터 하나의 …

void 메서드의 return

지난 시간에 잠시 언급했듯이 반환 타입이 void인 메서드 안에서도 return을 사용할 수 있습니다. 반환값이 있는 메서드는 return 구문을 필수로 작성해야 합니다; void 반환값 없는 메서드는 return을 강제로 쓰지 않아도 됩니다: …

반환값

메서드는 호출 코드로 데이터를 반환할 수 있으며 반환값은 호출 표현식 위치를 직접 대체합니다. 데이터를 반환해야 하는 경우 메서드 이름 앞에 반환 타입을 선언해야 합니다. 반환값이 없으면 void로 표기합니다. 반환값이 없는 …

메서드 호출

메서드 내부에서 다른 메서드를 호출할 수 있습니다. 메서드는 다른 메서드를 호출할 수 있고, 호출된 메서드는 또 다른 메서드를 호출합니다. 하나의 메서드 안에 여러 메서드를 호출할 수도 있으며, 이렇게 프로그램은 나무처럼 …

프로그램 제어 흐름

프로그램 제어 흐름의 영문 표현은:Flow of Control 프로그램을 개발할 때 대부분의 로직은 메서드 안에 담습니다. 나머지 로직은 속성, 연산자 및 기타 함수 멤버에 배치합니다. 제어 흐름 분류 소위 제어 흐름(flow …

지역 상수

지역 상수 (Local Constants) 지역 상수는 지역 변수와 매우 유사하지만 차이점이 있습니다. 상수는 초기화된 뒤 값을 수정할 수 없습니다. 지역 변수와 마찬가지로 상수는 코드 블록 안에서 선언해야 합니다. 상수의 핵심 …