전체 글258 정적변수, 전역변수 정적변수 - 메모리값이 유지되나( 전역변수처럼 ), 지역변수로서 해당 블록에서만 사용이 가능 void doSomething() { static int a = 1; ++a; cout 2024. 1. 16. this, function return 자료형 this : 자기 자신(객체)의 주소를 담는 포인터다. 멤버 변수 접근 방법 - this->멤버 로 접근 - (*this).멤버 로 접근 (this->) == (*this). 따라서 *this : 자기 자신(객체). 일반 리턴 : Calc add(int value){ return *this; } - Calc타입의 임시 변수에 자기 자신(Calc 타입 객체)이 복사된 후 그 임시 변수를 리턴한다. - 자신의 객체를 리턴하는 것이 아닌 자기 자신을 복사한 다른 Calc 타입의 객체를 리턴 - R-value 속성 참조 리턴 : Calc & add(int value){ return *this; } - 임시 변수에 복사하는 것 없이 자기 자신 자체를 리턴 - L-value 속성 2024. 1. 16. 참조자, static method, 오버라이딩, 오버로드 설명할 내용 1. 참조자 2. class 에서의 정적(static)메서드 및 인스턴스 메서드 3. 오버라이딩 4. 오버로드 [ 생성자, 메서드 ] 1. 참조자 C# 에선 & 대신 ref를 쓴다. 참조자랑 동일한 기능 using System; class Program { int Swap_x = 0; int Swap_y = 0; // Swap 메서드는 인스턴스 메서드로 유지 public void Swap(ref int x, ref int y) { Swap_x = x; Swap_y = y; } // Main 메서드를 static으로 선언 static void Main() { Program p = new Program(); // Program 클래스의 인스턴스 생성 int i = 1, j = 2; p.Swap(.. 2024. 1. 9. 구조체, 인터페이스, 열거형(enum), 튜플, 네임드튜플, 딕셔너리, Nullable 자료형 종류 및 예시 값 형식 (Value Types) 기본 자료형 (Primitive Types): int, float, double, bool, char 등 구조체 (Structs): DateTime, TimeSpan 등 열거형 (Enums): 사용자 정의 열거형 참조 형식 (Reference Types) 클래스 (Classes): object, string 등 인터페이스 (Interfaces) 배열 (Arrays) 대리자 (Delegates) 컬렉션 (Collections) List: 가변 크기의 순차적 목록 LinkedList: 양방향 연결 목록 Queue: FIFO (선입선출) 구조 Stack: LIFO (후입선출) 구조 HashSet: 유일한 요소를 저장하는 집합 Dictionary: 키-값 .. 2024. 1. 9. 상속과 다형성 상속은 클래스가 다른 클래스의 속성과 메소드를 그대로 받아오는 것이고, 다형성은 같은 이름의 메소드가 다른 행동을 할 수 있게 하는 것이다. 상속을 활용하면, 코드의 재사용성을 높이고, 중복을 줄이고 다형성을 활용하면, 동일한 인터페이스에 대해 다양한 구현을 제공할 수 있어 코드의 유연성이 증가한다. - 다형성은 주로 메소드 오버라이딩(overriding)이나 오버로딩(overloading)을 통해 구현되며, 각각 메소드 오버라이딩은 하위 클래스가 상위 클래스의 메소드를 재정의하고 오버로딩은 같은 이름의 메소드가 매개변수의 유형이나 개수에 따라 다른 동작을 하는 것을 의미한다. 상속 - 키워드 base, this base 는 상위 클래스 객체를 의미 this 는 해당 객체(하위클래스) 를 의미 ex) 생.. 2024. 1. 9. 생성자 인자의 갯수와 자료형에 따라 대응하는 생성자 템플릿 + 오버로딩 생성자(overloaded constructor) 사용 코드 using System; public class Test { public T_1 First { get; set; } public T_2 Second { get; set; } // 인자로 하나만 오는 경우 public Test(T_1 first) { this.First = first; this.Second = default(T_2); } // 인자로 두 개가 오는 경우 public Test(T_1 first, T_2 second) { this.First = first; this.Second = second; } } class Program { static void Main() { T.. 2024. 1. 9. 이전 1 ··· 3 4 5 6 7 8 9 ··· 43 다음