본문 바로가기

C#17

[C#] 추상 클래스 추상 클래스(Abstract Class)는 클래스의 일종으로, 일반적인 클래스와는 달리 추상 메서드를 포함할 수 있습니다. 추상 메서드는 선언만 있고 구체적인 구현이 없는 메서드로, 이를 상속받는 하위 클래스에서 반드시 구현되어야 합니다. C#에서는 abstract 키워드를 사용하여 추상 클래스를 정의합니다. 추상 클래스의 정의 public abstract class Shape { public abstract void Draw(); // 추상 메서드 } 위의 예제에서 Shape 클래스는 추상 클래스로 선언되어 있습니다. 이 클래스에는 추상 메서드인 Draw가 선언되어 있습니다. 추상 클래스의 구현 public class Circle : Shape { public override void Draw() { .. 2024. 1. 12.
[C#] 인터페이스 인터페이스(Interface)는 객체 지향 프로그래밍에서 클래스의 일종으로, 메서드의 시그니처(선언)만을 정의하고 실제 구현은 하위 클래스에서 이루어지도록 하는 추상화된 형태를 제공합니다. 인터페이스를 통해 여러 클래스가 동일한 메서드 시그니처를 공유하여 일관된 인터페이스를 제공할 수 있습니다. C#에서는 interface 키워드를 사용하여 인터페이스를 정의합니다. 인터페이스의 정의 public interface IDrawable { void Draw(); // 메서드 선언만 가능하며, 구현은 하위 클래스에서 이루어짐 } 위의 예제에서 IDrawable 인터페이스는 Draw라는 메서드의 선언만을 가지고 있습니다. 구현은 이를 상속받는 클래스에서 이루어집니다. 인터페이스의 구현 public class Ci.. 2024. 1. 12.
[C#] 다형성 다형성은 객체 지향 프로그래밍의 중요한 특성 중 하나로, 하나의 인터페이스나 부모 클래스를 사용하여 다양한 하위 클래스의 객체를 다룰 수 있는 능력을 말합니다. 이를 통해 코드의 유연성이 높아지고, 동일한 인터페이스를 가진 객체들을 통일적으로 다룰 수 있습니다. 다형성은 크게 두 가지 형태로 나눌 수 있습니다. 컴파일 타임 다형성과 런타임 다형성입니다. 컴파일 타임 다형성 (Compile-Time Polymorphism) 컴파일 타임 다형성은 메서드 오버로딩과 관련이 있습니다. 같은 메서드 이름을 가지고 있지만 매개변수의 개수나 타입이 다르게 정의된 메서드를 호출할 때 컴파일러가 어떤 메서드를 호출할지 결정하는 다형성의 형태입니다. public class Calculator { public int Add.. 2024. 1. 12.
[C#] 상속 상속은 객체 지향 프로그래밍(OOP)에서 중요한 개념 중 하나로, 클래스들 간의 계층 구조를 형성하여 코드의 재사용성을 높이고 구조를 조직화하는 데 사용됩니다. 이를 통해 기존 클래스의 특징을 물려받고, 새로운 클래스를 만들어 확장할 수 있습니다. 상속의 개념 상속은 하위 클래스(자식 클래스)가 상위 클래스(부모 클래스)의 특성과 기능을 물려받는 것을 의미합니다. 부모 클래스의 모든 특성(멤버 변수, 메서드)은 자식 클래스에서 사용할 수 있으며, 이를 통해 코드의 중복을 줄이고 유사한 객체들을 쉽게 만들 수 있습니다. 상속의 구현 기본 문법 C#에서 상속은 :(콜론)을 이용하여 구현됩니다. public class ParentClass { // 부모 클래스의 멤버 변수와 메서드 } public class .. 2024. 1. 1.