본문 바로가기
728x90
반응형

Program Language/C#39

C# 인스턴스 생성 키워드 : extern - 활용 externextern 키워드를 사용하면 플랫폼 간 상호 운용성, 성능 최적화, 코드의 안전성과 에러 처리를 모색할 수 있다. 플랫폼 간 상호 운용성C# 언어를 사용하는 프로젝트에서 이외의 언어로 작성된 라이브러리 함수를 호출하는 경우는 아주 흔하게 발생하는 상황이다. 예를 들어서 C#에서 Windows API를 호출하려면 DllImport 속성을 사용해서 C# 코드에서 네이티브 코드 함수를 선언해야 한다. 이를 통해 C# 프로그램에서 운영 체제 수준의 다양한 기능을 직접적으로 사용할 수 있다. Windows API 중 몇 가지 간단한 함수를 사용해 본다.namespace Test{ using System; using System.Text; using System.Runtime.Inter.. 2024. 5. 6.
C# 인스턴스 생성 키워드 : new - 디자인패턴 newnew 키워드의 사용을 최소화하여 객체 생성의 통제를 개선하고 코드의 유연성과 재사용성을 높여 의존성 관리를 용이하게 할 수 있다. 이를 통해서 메모리 사용을 최적화하고 객체의 생명주기를 효과적으로 관리할 수 있다. 디자인 패턴(Design Pattern)주로 사용되는 방식들은 패턴으로 정형화된 구조를 만들 수 있다. 자주 그리고 반복적으로 사용되는 코드의 디자인을 정형화된 패턴으로 만들 수 있는데 이를 디자인 패턴이라고 한다. 디자인 패턴은 다양한 종류들이 존재하는데 이번에는 그중 객체의 생성과 할당과 관련된 패턴들 중 대표적인 몇 가지만 살펴본다. 싱글턴 패턴(Singleton Pattern)싱글턴 패턴은 클래스의 인스턴스가 하나만 존재하도록 보장하는 패턴이다.이 패턴은 객체를 전역적으로 접근할.. 2024. 5. 6.
C# 인스턴스 생성 키워드 : new - 생성자와 소멸자 new메모리 할당new 키워드를 사용하면 CLR은 관리되는 힙에 객체를 위한 메모리를 할당한다. 할당된 메모리는 해당 객체에 대한 모든 참조가 없어질 때까지 메모리에 존재하고 더 이상 참조되지 않을 때 GC에 의해 관리된다.public class MyClass{ public int Number { get; set; }}public class Program{ public static void Main() { MyClass myObject = new MyClass(); myObject.Number = 1; Console.WriteLine(myObject.Number); }}  생성자생성자는 객체가 할당될 때 호출되는 생명주기 메서드(Lifecycle.. 2024. 5. 6.
C# 라이브러리 Collections, Generic Collections . Net Framework에서 사용되던 라이브러리이다. Generic 기능이 도입되기 이전에 사용되었으며 Collections의 클래스들은 모든 요소를 object 타입으로 처리하여 요소를 다룰 때에 형변환을 필요로 한다. 대표적의로 ArrayList, Hashtable, sortedList, Stack, Queue 등이 있다. Generic Collections의 클래스들은 형변환이 필요하기 때문에 잘못된 타입을 사용할 경우 에러가 발생하게 된다. 이 문제를 해결하기 위해서 안정성을 제공하는 새로운 클래스들이 Generic 네임스페이스로 추가되었다. 대표적으로 List, Dictionary, Queue , Stack 등이 있다. Collections Generic ArrayLis.. 2023. 5. 16.
C# 객체지향 프로그래밍 C#은 객체지향 언어로 객체지향 프로그래밍을 위한 개념들이 있다. Class 객체를 정의하는 템플릿이며 객체의 상태를 나타내는 필드와 동작을 나타내는 메서드를 포함한다. 즉 클래스는 객체를 표현하기 위한 설계도로 볼 수 있다. public class MyClass { // field, 멤버 변수 public int id; public string name; public int age; // method, 멤버 함수 public void Introduc() { string introduce = "My age : " + agem + "\nMy name : " + name; Cosole.WriteLine(introduce); } } MyClass라는 객체에는 id, name, age 멤버변수와 Introduc.. 2023. 5. 15.
C# Operator 키워드 is 주어진 값이 특정 클래스 혹은 구조체의 인스턴스인지 아닌지를 판별하는 연산자이다. 즉, is 연산자는 해당 값이 주어진 클래스 또는 구조체로부터 상속되었거나 해당 구조체와 일치하는지를 판별하는 데 사용된다. object obj = "Hello World!"; if (obj is string) { Console.WriteLine("obj is a string"); } is 키워드는 obj 변수가 string 타입에 해당하는지 검사한다. 만약 obj가 string 타입이면 로그가 출력되는데 string은 object의 파생 클래스이기 때문에 object 형식으로 형변환이 가능하며 해당 조건문은 true로 로그가 출력이 된다. as 참조 타입의 변수에서 형식 변환을 수행하는 연산자이다. as 연산자를 사.. 2023. 4. 27.
728x90
반응형