본문 바로가기
728x90
반응형

Program Language71

C# 코드 분할 키워드 : partial Partial 클래스, 구조체, 인터페이스 등의 선언에 사용된다. partial 제한자로 선언된 클래스, 구조체, 인터페이스 등은 여러 파일에 나누어 작성할 수 있다. public class Person { public string FirstName { get; set; } public string LastName { get; set; } public void SayHello() { Console.WriteLine($"Hello, my name is {FirstName} {LastName}."); } } Person이라는 클래스가 하나의 파일에 선언되고 작성되어 있다. 이 클래스를 여러 파일로 나누어 선언하기 위해 partial 키워드를 사용하면 다음과 같이 사용할 수 있다. // Person.cs pu.. 2023. 3. 30.
C# 가상 함수/재정의 키워드 : virtual/override virtual 가상 메서드를 정의할 때 사용되는데 이 키워드를 통해서 메서드를 재정의할 수 있도록 허용한다. class Base { public virtual void Print() { Console.WriteLine("Base class"); } } override 상속 관계에서 부모 클래스에 정의된 메서드를 자식 클래스에서 다시 정의할 때 사용된다. class Derived { public override void Print() { Console.WriteLine("Derived class"); } } override 키워드를 사용하여 부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하면 자식 클래스의 인스턴스에서 호출할 때 부모 클래스와 자식 클래스의 구현 차이를 쉽게 반영할 수 있다. Bas.. 2023. 3. 30.
C# 인스턴스 생성 키워드 : new new Instance 객체를 생성할때 사용한다. C#에서는 내장 클래스인 string, int, double 등을 포함한 모든 클래스 object를 상속받기 때문에 new 키워드를 사용해서 객체를 생성할 수 있다. int n = new int(); string s = new string(); MyStruct structInstance = new MyStruct(); MyClass classInstance = new MyClass(); 하지만 내장 클래스들은 구조체로 정의되어 있기 때문에 구조체 변수를 생성할 때 new를 사용하지 않고 객체를 바로 생성할 수 있다. int n = 0; float f = 1.0f; string의 경우 .Net에서 특별히 내부적으로 string literal로 정의되어 있는.. 2023. 3. 30.
Interoperability Interoperability(Interop) 상호운용성 unmanaged code에 대한 기존 투자를 보존하고 활용할 수 있게 한다. 즉 CLR을 사용하지 않는 어셈블리를 CLR에서 사용할 수 있게 만드는 것이다. interop은 managed와 unmanaged를 오고가는 메모리 비용과 코드 작성 비용 때문에 최소화하는게 좋다. COM Interop Component Object Model(COM) 을 사용하면 개체의 기능을 다른 컴포넌트와 윈도우 플랫폼의 호스트 프로그램에 사용할 수 있다. 사용자가 기존 코드 베이스와 상호 운용할 수 있도록 .Net 프레임워크에서 COM라이브러리를 통해 interop을 지원한다. Platform Invoke(P/Invoke) P/Invoke는 사용자의 managed.. 2023. 2. 2.
Managed, Unmanaged, Native Code Managed code .Net Framwork에서 CLR(Common Language Runtime)의 제어하에서 실행되는 코드를 말한다. 이 코드는 Visual Basic.Net이나 C#과 같은 .Net Framework를 지원하는 언어의 컴파일러를 통해서 만들어지는 코드로 컴파일러에 의해 IL(Intermediate Language)이라는 중간 언어로 생성된다. IL은 컴퓨터에서 바로 실행할 수 있는 기계 언어가 아니며 사용자가 생성한 코드의 클래스, 메서드, 속성 등을 나타내는 메타데이터와 함께 어셈블리라는 파일로 저장된다. CLR은 이러한 어셈블리를 실행할 때 코드의 보안, 메모리 관리, 스레딩같은 관리를 담당하는 다양한 서비스를 제공하며 실행 시점에 필요한 코드는 JIT 컴파일로 컴퓨터의 환경.. 2023. 2. 2.
C# 외부 코드 사용 키워드 : extern extern '외부의'라는 뜻을 가지는 External의 약자로 외부에 선언된 함수 또는 객체임을 명시하는 역할을 한다. 이때 외부란 C# 코드 이외의 언어로 작성된 코드를 뜻하며 DLL이나 C/C++ 등으로 작성된 함수를 말한다. 이런 외부에서 작성된 코드 즉, C# 및. Net 프레임 워크에서 사용되지 않는 코드 다시 말해서 CLR에서 관리되지 않는 코드를 unmanaged code라고 하는데 이러한 unmanaged code를 불러오기 위해서는 interop 기술이 필요하다. Interop 정리글 간략하게 Interop은 다른 언어나 플랫폼에서 작성된 코드를 호출하거나 받는 기술로 COM, P/Invoke, C++/CLI 등이 대표적으로 있는데 extern 키워드는 이러한 함수나 객체가 외부의 것임.. 2023. 1. 31.
728x90
반응형