<개인공부> 261

[C#] out 매개변수 한정자 설명 및 예제 (out 키워드)

안녕하세요. BlockDMask입니다. 지난 시간에 ref 키워드 포스팅에서 call by value, call by reference에 대해서 배우고 in 키워드에 대해서도 배워봤습니다. 오늘은 C#에서 매개변수를 넘길 때 붙여줄 수 있는 out 키워드, out 매개변수 한정자에 대해서 알아보려고 합니다. 1. C# out 한정자 설명 2. C# out 키워드 예제 1. C# out 설명 매개변수 한정자란 어떤 함수가 있을 때 매개변수 앞에 붙이는 키워드를 매개변수 한정자라고 부릅니다. 매개변수에 특정한 기능, 역할을 붙여줄 때 사용하게 됩니다. 이 매개변수 한정자 중에 오늘 배울 것은 "out" 키워드입니다. 반환형 함수 이름 (out 데이터 타입 변수) void Func(out int num) vo..

<개인공부>/[C#] 2022.11.05

[C#] in 매개변수 한정자 설명 및 예제 (in 키워드)

안녕하세요. BlockDMask입니다. 지난 시간에 ref 포스팅에서 call by value, call by reference에 대해서 배웠었는데요. 오늘은 ref 키워드와 마찬가지로 call by reference로 호출해주는 C#의 키워드 중 in 키워드 = in 한정자 = in 매개변수 한정자에 대해서 알아보려 합니다. 1. C# in 한정자 설명 2. C# 매개변수 in 한정자 예제 1. C# in 매개변수 한정자 설명 *매개변수 한정자? 어떤 함수 void Func(int a)가 있을 때 매개변수 앞에 붙이는 키워드들을 매개변수 한정자라고 부릅니다. void Func([한정자] int a) 이런 식으로 데이터 타입 앞쪽에 위치하게 됩니다. 이 매개변수 한정자 중에 오늘 배울 것은 “in” 키워..

<개인공부>/[C#] 2022.10.29 (1)

[C#] ref 매개변수 한정자 설명 및 에제 (ref 키워드)

안녕하세요. BlockDMask입니다. 오늘은 C#에서 매개변수를 넘길 때 붙여줄 수 있는 한정자 중에 ref라는 키워드에 대해서 알아보려고 합니다. 1. ref 키워드 설명 2. ref 키워드 예제 3. ref, out, in 키워드 간단 요약 1. C# ref 키워드 설명 1-1) ref 가 하는 일 기본적으로 C# 함수(메서드)에 인자를 전달할 때 call by value (값 전달)을 합니다. ref 키워드를 이용하면 명시적으로 call by refence(참조 전달)을 할 수 있습니다. 참조로 전달을 하면 무슨 일이 일어나는가 하면, 매개변수로 전달한 값의 원본이 변경이 되는 것입니다. 우선 값 전달을 먼저 이야기 해보면 값 타입 (int, float, struct... ) 들은 기본적으로 매개..

<개인공부>/[C#] 2022.10.22

[C#] 확장 메서드 (Extension Method) 설명과 예제

안녕하세요. BlockDMask입니다. 오늘은 C#의 신기한 기능 중에 하나인 확장 메서드 기능에 대해서 알아보려고 합니다. 1. 확장 메서드란? 2. C# 확장 메서드 예제 1. C# Extendion Method? 1-1) 확장 메서드 설명 확장 메서드는 기존 클래스의 기능을 확장하는 기법입니다. (상속과 다름) 좀 풀어서 이야기하면 클래스의 외부에서 클래스의 메서드처럼 사용할 수 있는, 새로운 메서드를 만들 수 있는 기능입니다. ex) int 클래스가 있다면 int 클래스에 없는 메서드를 우리가 직접 외부에서 만들어서, 마치 기존에 int 클래스에 있던 기능인 것처럼 메서드를 만들 수 있게 되는 것입니다. 물론 이미 만들어져 있는 int 클래스 이외에도 우리 프로그래머가 만들어 놓은 사용자 정의 클..

<개인공부>/[C#] 2022.10.15

[C#] Equals, ==, ReferenceEquals 비교 및 설명

안녕하세요. BlockDMask 입니다. 오늘은 C#에서 Equals, ==, ReferenceEquals 설명과 차이점에 대해서 알아보겠습니다. 1. Equals, ==, ReferenceEquals 설명 2. 값타입, 참조타입에 따라 다른 Equals, ==, ReferenceEquals 예제 1. ==, Equals, ReferenceEquals 설명 1-1) 같음 연산자 '==' 같음 연산자 == 는 연산자 왼쪽 오른쪽에 오는 것들이 같은지를 판단하는 연산자 입니다 값 타입의 경우 좌 우의 값이 같으면 True, 다르면 False 를 반환합니다. 참조 타입은 좌 우 객체가 같은지를 비교합니다. (객체 내부의 값이 같은지 비교 한다는 뜻, 참조(주소)는 상관없음) 1-2) Equals 도 똑같이 =..

<개인공부>/[C#] 2022.10.08

[C#] 실행 시간 측정, 코드 수행 시간 측정(Stopwatch)

안녕하세요. BlockDMask 입니다. 오늘은 코드에서 수행시간이 궁금할 때, 이 로직은 얼마나 시간이 걸리는지 측정할 때 유용하게 쓸 수 있는 Stopwatch 클래스에 대해서 알아보려 합니다. 1. C# Stopwatch 클래스 설명 및 내부 살펴보기 2. C# Stopwatch 실제 시간 측정 예제 1. C# 코드 수행 시간 측정 Stopwatch 클래스 설명 우리가 개발을 하다보면 실제로 유저에게 걸린 시간을 보여주어야 할 때도 있고, 내가 짠 로직이 얼마나 시간을 소모하는지 등등 시간을 측정해야하는 경우가 많습니다. C#에서는 정말 편하게 시간 측정을 할 수 있는 Stopwatch 클래스가 존재합니다. 우선 Stopwatch 클래스는 System.Diagnostics 네임스페이스 안에 존재합니..

<개인공부>/[C#] 2022.09.25

[C#] const, readonly 설명 사용법과 차이점에 대해서

안녕하세요. BlockDMask 입니다. 오늘은 C# 에서 상수를 나타내는 두 키워드 const, readonly 에 대해서 알아보려고 합니다. 1. const 상수 설명과 예제 2. readonly 상수 설명과 예제 3. const, readonly 차이점 예제 한눈에 보기 1. C# const 상수 설명과 예제 상수가 무엇인지 먼저 간단하게 이야기 하면 "상수는 변하지 않는 값"을 의미합니다. (반대로 변수는 변하는 값을 의미합니다.) const는 컴파일 타임의 상수입니다 컴파일 할때 값이 결정 되는 상수입니다. 아래와 같이 선언과 동시에 초기화가 되어야합니다. 이렇게 초기화된 최초의 값은 프로그램 실행 중간에 변경 할 수 없습니다. public const int a = 10; const string..

<개인공부>/[C#] 2022.09.22

[C#] 타입 조사 Type, 리플렉션(reflection)

안녕하세요. BlockDMask 입니다. 오늘은 C#에서 객체의 타입 정보, 클래스의 타입정보를 얻을 수 있는 방법에 대해서 알아보려합니다. 1. C# 타입조사 (feat. Type 클래스) 2. C# 필드, 메서드, 생성자 조사 (feat. 리플렉션 네임스페이스) 1. 씨샵 타입 조사 (Type 클래스) 씨샵에서는 타입을 나타내기 위한 Type 이라는 클래스가 존재합니다. 이 Type을 이용해서 우리는 객체의 타입, 클래스의 타입등을 받아서 구분할 수 있습니다. 런타임 상태 (프로그램이 시작되서 동작하고 있는 상태, 프로세스 상태)일때 클래스나 클래스의 객체의 타입 정보를 조사하고 싶을 때 아래와 같은 방법을 사용합니다. 1. typeof(클래스) 2. 객체.GetType() 이렇게 두가지 방법을 통해..

<개인공부>/[C#] 2022.09.11

[C#] 인덱서 객체(인스턴스)를 배열 처럼 사용해보자

안녕하세요 BlockDMask입니다. 오늘은 C# indexer에 대해서 알아보려고 합니다. 1. C# indexer 란? (인덱서 사용 전 후 비교) 2. C# indexer 예시 *해당 문서에서는 객체와 인스턴스를 거의 동일시해서 언어를 사용했습니다. 객체 : 클래스의 타입으로 선언 되었을 때 인스턴스 : 실제 객체가 메모리에 할당되어 사용될 때 1. C# 인덱서란? 1-1) 인덱서 사용법 및 설명 우리가 데이터를 편리하게 다루려고 배열을 사용하고 있지 않나요? 배열 arr 이 존재한다고 했을 때 배열의 N번째 요소에 접근하기 위해서 우리는 arr[N] 을 사용하잖아요? (N은 0부터 시작) 이렇게 배열을 통해서 쉽게 접근하는 유용한 문법을 "클래스 내부에 있는 배열에 한 번에 접근하고 싶을 때" 사..

<개인공부>/[C#] 2022.09.04

[C#] Math.Clamp 메서드(함수) 설명 및 예제

안녕하세요. BlockDMask 입니다. 오늘은 C#에 있는 clamp 라는 메서드(함수)를 설명 드리려 합니다. 작업을 하다보면 '특정 값이 해당 범위 내에서 나왔으면 좋겠다'하는 작업 부분이 있을 것 입니다. 그때 사용하는 유용한 함수 입니다. 1. C# Math.Clamp 메서드 설명 2. C# Math.Clamp 메서드 예제 1. C#의 clamp 함수 설명 1-1) Clamp 함수 정의 및 설명 public ststic int Math.Clamp(int value, int min, min max) clamp 함수(메서드)는 어떤 값이 범위 안에 있는지 검사하고 범위 내에 있으면 그 값을 바로 반환합니다. 단, 해당 값이 범위보다 낮을때는 최소값을 범위보다 높을때는 최대 값을 반환해주는 함수입니다..

<개인공부>/[C#] 2022.07.18