매개변수

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

지역 함수

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

void 메서드의 return

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

반환값

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

메서드 호출

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

프로그램 제어 흐름

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

지역 상수

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

중첩 코드 블록과 범위

이번 수업에서 다루는 내용은 앞선 강의에서 이미 언급했지만, 메모리 저장 방식을 통해 다시 한번 개념을 탄탄히 다져보겠습니다. 본 튜토리얼은 foxdevelop.com에서 제공됩니다. 재게시할 때 출처를 명시해 주세요. 메서드 본문 안에 다른 …

형식 추론

형식 추론과 var 키워드 아래 코드를 살펴보세요. 변수 선언 앞에 적는 자료형은 컴파일러가 등호 오른쪽 초기화 값으로 자동 유추할 수 있습니다. 예를 들어 아래 숫자 18은 정수 int로, Phone()은 Phone …

메서드(Method)

메서드는 이름이 지정된 코드 블록입니다. 프로그램 내 다른 곳에서 메서드 이름을 호출해 해당 코드를 실행할 수 있으며, 데이터를 전달하고 메서드가 반환하는 결과값을 받을 수 있습니다. 메서드의 구성 앞서 설명했듯이 메서드는 …

클래스 외부에서 멤버 접근하기

접근 제한자는 오직 클래스 외부 코드에 제약을 적용하며, 클래스 내부에서는 접근 분리 규칙이 적용되지 않습니다. 앞서 배웠듯 클래스 내부에서는 모든 멤버에 자유롭게 접근할 수 있습니다. 이제 클래스 외부에서 멤버에 접근하는 …

접근 수정자

클래스 내부에서는 모든 멤버 함수가 이름을 통해 동일 클래스의 다른 멤버에 직접 접근할 수 있습니다. 접근 수정자는 멤버 선언에 사용하는 선택적 접두사로, 프로그램의 다른 코드가 해당 멤버에 접근 가능한지 제한하며 …

인스턴스 멤버

클래스 선언은 템플릿 혹은 설계도와 같습니다. 이를 바탕으로 원하는 만큼 클래스 인스턴스를 생성할 수 있습니다. 인스턴스 멤버 : 클래스의 모든 인스턴스는 독립적인 개체로 고유한 데이터 멤버를 가지며 같은 클래스의 다른 …

클래스 정의

절차 지향 프로그래밍과 객체 지향 프로그래밍 클래스 개념이 등장하기 전 C 언어 같은 언어에는 클래스가 없었습니다. C 언어처럼 클래스와 객체가 없는 방식의 프로그래밍을 절차 지향 프로그래밍이라고 부릅니다. 절차 지향 프로그래밍: …

변수

값 형식과 참조 형식 분류 미리 정의된 내장 형식 분류 포함 형식 값 형식(기본 숫자 / 불리언 / 문자) 부호 있는 정수: sbyte、short、int、long부호 없는 정수: byte、ushort、uint、ulong부동 소수점 / 고정밀: float、double、decimal불리언: …

값 타입과 참조 타입

데이터 항목의 타입은 해당 데이터를 저장하는 데 필요한 메모리 크기(비트 수)와 타입에 포함된 데이터 멤버를 결정합니다. 또한 타입은 객체가 메모리 내 스택(Stack) 혹은 힙(Heap) 어디에 배치될지 정의합니다. 타입은 크게 두 …

스택과 힙 비교

프로그램이 실행될 때 데이터는 메모리에 적재되어야 합니다. 데이터가 차지하는 공간과 저장 위치는 데이터 타입에 따라 결정됩니다. 프로그램 구동 중 데이터를 보관하기 위해 두 가지 메모리 영역이 사용됩니다: 스택(Stack), 힙(Heap). 스택(Stack) …

사용자 정의 타입

사용자 정의 타입 C#에 기본 탑재된 16가지 미리 정의된 타입 외에도 개발자가 직접 생성할 수 있는 사용자 정의 타입이 있으며 총 6가지 분류로 나뉩니다. 사용자 정의 타입은 타입 선언을 통해 …

내장 타입

C#은 기본 내장 미리 정의 타입을 총 16가지 제공하며, 단순 타입 13가지와 비단순 타입 3가지로 나뉩니다. 모든 미리 정의 타입의 이름은 전부 소문자로 작성해야 합니다. 단순 타입 13가지 특징: C#은 …

클래스 멤버

클래스 멤버는 두 가지로 나뉩니다: 데이터 멤버와 함수 멤버 앞서 배운 int, long, short 같은 타입들은 단순 타입으로 .NET 기본 내장 타입입니다. 마이크로소프트 개발자들이 미리 코딩해서 .NET 프레임워크에 포함시켜놓았고, VS2022 …