C# 프로그래밍 - 속성(property) 속성(Property)은 클래스의 필드(멤버 변수)에 대한 접근자(accessor)를 제공하는 방법입니다. 속성을 사용하면 필드에 직접 접근하는 것보다 객체의 내부를 더 안전하게 관리할 수 있으며(데이터 캡슐화, data encapsulation) 필드에 접근하고 설정할 때 추가 로직을 구현할수있습니다(유효성 검사, 기타) 속성(Property)의 구조 접근한정자 자료형 속성이름 { get { // 값을 반환하는 로직 } set { // 값을 설정하는 로직 } } 접근 한정자(Access Modifier) - 속성의 접근 수준을 의미합니다(public, private, internal, protected) 자료형(Data Type) - 속성이 반환하는 값의 자료..
C# 프로그래밍 - 생성자와 소멸자 생성자 (Constructor) 생성자는 클래스의 객체가 생성될 때 자동으로 호출되는 특별한 메서드입니다. 클래스 내부에 정의된 클래스와 동일한 이름을 갖는 맴버함수로 주로 객체의 초기화 작업을 수행하는 데 사용됩니다(객체의 필드를 초기화하거나 초기 상태를 설정) 생성자 선언 예시 생성자는 클래스의 이름과 동일하며 반환 유형을 가지지 않습니다. class Person { public string Name; public int Age; public Person() { Name = "Unknown"; Age = 0; } } 객체 생성과 생성자 호출 타입 변수명 = new 타입 (): 객체를 생성할때(클래스가 인스턴스화될때) new 키워드를 사용하여 클래스 내부에 선언한 생..
C# 프로그래밍 - 클래스 상속(Inheritance) 클래스 상속을 사용하여 하나의 클래스가 다른 클래스의 멤버(필드, 속성, 메서드)를 상속받을수있습니다. 기본 클래스는 상속의 기반이 되는 클래스로 베이스 클래스(base class) 또는 부모 클래스(parent class) 라고합니다. 파생 클래스는 상속을 받는 클래스로 파생 클래스(derived class) 또는 자식 클래스(child class) 라고합니다. 기본 클래스에서 파생 클래스로 상속이 이루어지면 파생 클래스에서 기본 클래스의 멤버(필드, 속성, 메소드)를 사용할수있습니다. 상속의 선언 상속은 클래스 선언 시에 다음과 같이 콜론(:)을 사용합니다. class DerivedClass : BaseClass { } 클래스 상속 예시 Dog ..
C# 프로그래밍 - 데이터 형식 변환 및 캐스팅(Data Type Convertion) 데이터 형식 변환은 하나의 데이터 형식을 다른 데이터 형식으로 변환하는것을 의미합니다. 아래에서 두가지 데이터 형식 변환 방법(암시적 변환, 명시적 변환)을 설명합니다. 암시적 변환(Implicit Conversion) 데이터 형식을 자동으로 변환하는 방법입니다. 작은 범위의 데이터 형식에서 큰 범위의 데이터 형식으로의 변환이 발생할 때 자동으로 암시적 변환이 수행됩니다. 이러한 변환이 가능한 이유는 데이터의 손실 없이 작은 데이터 형식을 큰 데이터 형식에 저장할 수 있기 때문입니다. 예를들어 작은 정수 형식에서 큰 정수 형식으로의 변환, 실수 형식에서 정수 형식으로의 변환, 파생 클래스에서 기본 클래스로의 변환에 암..
프로그래밍에서 코드 작성시 영문 텍스트 표기법 종류(Uppercase, Lowercase, Pascal Case, Camel Case) 프로그래밍에서 코드의 일관성과 가독성을 유지하기 위해 변수명, 함수명, 클래스명 등을 작성할 때 사용할수있는 영문 텍스트 표기법의 종류 Uppercase(대문자) 모든 문자를 대문자로 표기합니다. 예시 "HELLO", "WORLD" Lowercase(소문자) 모든 문자를 소문자로 표기합니다. 예시 "hello", "world" Pascal Case(파스칼 표기법) 여러 단어를 사용할 때 각 단어의 첫 글자를 대문자로 표기하고 나머지는 소문자로 표기합니다. 예시 "MyVariableName", "MyColor" Camel Case(카멜 표기법) 파스칼 표기법과 유사하지만 ..
C# 프로그래밍 - 상수(constant) 상수(constant) 상수(constant)는 프로그램에서 고정된 값으로 사용되어 한 번 선언되면 해당 값을 변경할수없는 필드입니다. 프로그램에서 반복적으로 사용되는 고정된 값을 사용하여 코드의 일관성을 높일수있고 값이 변경되지않도록 보장하여 코드의 안정성을 높일수있습니다. 상수의 선언 const 데이터형식 상수이름 = 값; 상수는 const 키워드를 사용하여 선언됩니다. 상수는 선언과 동시에 값을 할당해야 하며 이후에는 값을 변경할 수 없습니다. 상수는 컴파일 시간에 해당값을 설정하여 실행 시간에 변경되지 않습니다. 상수의 사용예시 예시1 const int MaxValue = 100; // 정수형 상수 선언 const string Greeting = "Hel..
C# 프로그래밍 - 연산자(Operator) 연산자 C#은 여러 종류의 연산자(Operator)를 제공하며 변수 및 값들의 수학적, 논리적 연산을 수행할수있습니다. 연산자는 피연산자(operand)라고 불리는 값들에 대해 특정한 동작을 수행합니다. a=b+c; b,c는 피연산자, +는 연산자 연산자의 종류 산술연산자, 증감 연산자, 대입 연산자, 비교 연산자, 논리 연산자, 비트 연산자 산술 연산자(+, -, *, /, %) + 덧셈, 피연산자를 더합니다. - 뺄셈, 피연산자를 뺍니다. * 곱셈, 피연산자를 곱합니다. / 나눗셈, 피연산자를 나눕니다. % 나머지, 피연산자를 나눈 후 남은 나머지를 반환합니다(modulus operator) 예를들어 int c; c=10%3; 일때 변수 c에는 1이 대입된..
C# 프로그래밍 - 박싱(Boxing)과 언박싱(Unboxing)박싱(Boxing)과 언박싱(Unboxing)은 값 타입(value type)과 참조 타입(reference type) 간의 변환을 의미합니다. 박싱(Boxing)은 값 타입(int, char, bool, 구조체등)을 객체(참조 타입)로 변환하는 과정입니다. 값 타입은 스택에 저장되고 객체는 힙에 저장되므로 박싱을 통해 값 타입의 데이터를 힙에 저장할 수 있습니다. 사용 예시int number = 42; // 값 타입 object boxedNumber = number; // 박싱 number라는 int 값은 boxedNumber라는 object 타입으로 박싱됩니다. 이 과정에서 int 값은 객체로 변환되..
C# 프로그래밍 - 주석(Comment)을 작성하는 방법(한줄주석, 여러줄주석, xml주석) C#에서 주석(Comment)은 코드에 대한 설명이나 메모를 작성할 수 있는 기능입니다. 주석은 컴파일러에 의해 무시되며 프로그램 실행에는 영향을 주지 않습니다. 한 줄 주석(Single-line Comment) 한 줄 주석(단일 행 주석)은 // 기호를 사용하여 표시하며 해당 줄에서 // 이후의 모든 내용은 주석으로 처리됩니다. 예시 // 이것은 단일 행 주석입니다. int x = 5; // 변수 x에 5를 할당합니다. 여러 줄 주석(Multi-line Comment) 여러 줄 주석(다중 행 주석)은 여러 줄에 걸쳐 주석을 작성할 때 사용하는 방법입니다. /*로 시작하여 */로 종료하는 블록으로 사이에 있는 모..
C#의 데이터 타입(자료형) C#의 데이터 타입은 .NET Framework의 기본 클래스 라이브러리에 정의되어 있습니다. (.NET Framework의 다른 언어들도 C#과 동일한 데이터 타입을 사용합니다. 이는 CTS(Common Type System)라고 불리는 공통 데이터 타입 시스템에 의해 가능합니다. CTS는 .NET Framework에서 사용되는 모든 언어에서 공통적으로 사용되는 데이터 타입을 정의하고 이러한 데이터 타입이 상호 호환되도록 보장합니다) 데이터 타입 분류 기본 제공 형식(built-in Types, Primitive Types) C#에서 기본으로 제공하는 미리 정의된 데이터 타입으로 int, float, char, string, bool등이 있습니다. 사용자 정의 형식(User..
C# 프로그래밍 - 클래스(class) 클래스(class) 객체지향 프로그래밍에서 클래스(class)는 객체를 생성하기위한 설계도로써 관련 데이터와 동작을 정의하는 사용자 정의 데이터 타입입니다. 클래스는 데이터를 저장하고 나타내는데 사용되는 데이터 멤버(속성), 수행되는 동작을 정의하는 동작 멤버(메서드), 기타 멤버를 가질수있습니다. 클래스의 맴버 클래스는 필드(field), 속성(property), 메서드(method), 생성자(constructor), 이벤트(event), 기타를 가질 수 있습니다. 필드(field) 클래스 내부에 선언된 변수로 클래스에서 사용되는 데이터를 저장하는데 사용됩니다. 클래스 객체의 상태를 유지하고 나타내는 속성이 될수있습니다. 필드의 접근제한자에 따라서 외부 객체, 상..
C# 프로그래밍 - 메서드(method) 메서드 메서드(Method)는 클래스 내에 정의되는 함수입니다. 메서드는 특정한 기능을 수행하기 위한 독립적인 코드 블록으로 입력을 받아들이고 일련의 작업을 수행하며 결과를 반환합니다. 또한 객체 지향 프로그래밍에서 메서드는 클래스의 멤버로서 객체의 동작을 정의하고 객체의 상태를 조작하는 역할을 합니다. 메서드를 사용하면 코드를 모듈화하여 재사용 가능한 단위로 분리할 수 있으며 코드의 가독성과 재사용성을 높일 수 있습니다. 메서드의 선언 접근제한자 반환타입 메서드이름(매개변수) { //실행코드 반환문(return)을 사용하여 결과 반환(반환타입이 void인 경우 생략) } 접근제한자 메서드는 접근 제한자를 가지며 외부에서의 접근과 사용을 제어하여 해당 메서드의 가..