C#은 객체 지향 프로그래밍의 모든 특징을 지원합니다. 이에는 캡슐화, 상속, 다형성, 추상화 등이 포함됩니다.
캡슐화
캡슐화는 클래스와 객체를 설계하는 데 중요한 개념 중 하나입니다. 캡슐화는 데이터와 메서드를 하나의 단위로 묶어서 내부 세부 정보를 숨기는 것을 의미합니다. 이를 통해 코드의 가독성과 유지 보수성을 높일 수 있습니다.
상속
상속은 하위 클래스가 상위 클래스의 특성을 물려받는 것을 의미합니다. 상속을 사용하면 코드의 재사용성을 높일 수 있으며, 객체 간의 계층 구조를 더욱 명확하게 표현할 수 있습니다.
다형성
다형성은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 다형성은 하나의 변수가 여러 개의 형식을 가질 수 있는 능력을 의미합니다. 이를 통해 코드의 유연성을 높일 수 있으며, 다양한 객체를 대상으로 한 메서드나 함수를 작성할 수 있습니다.
추상화
추상화는 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 추상화는 객체의 공통적인 특성을 추출하여 클래스로 정의하는 것을 의미합니다. 이를 통해 코드의 가독성을 높일 수 있으며, 객체 간의 유사성을 파악하기 쉬워집니다.
C#에서 복사와 참조
C#에서 변수를 복사하거나 참조하는 방법에는 두 가지가 있습니다. 값 형식 변수는 복사되지만, 참조 형식 변수는 참조가 복사됩니다.
값 형식 변수 복사
값 형식 변수는 메모리의 스택 영역에 저장됩니다. 값 형식 변수를 복사하면, 해당 변수의 값이 복사됩니다.
int i = 10;
int j = i; // i의 값이 j에 복사됩니다.
참조 형식 변수 참조
참조 형식 변수는 메모리의 힙 영역에 저장됩니다. 참조 형식 변수를 복사하면, 해당 변수가 참조하는 메모리 영역의 주소가 복사됩니다.
string str1 = "Hello";
string str2 = str1; // str1이 참조하는 메모리 영역의 주소가 str2에 복사됩니다.
C#에서 스택과 힙
C#에서 값 형식 변수는 메모리의 스택 영역에 저장됩니다. 이에 비해 참조 형식 변수는 메모리의 힙 영역에 저장됩니다.
스택
스택은 후입선출(LIFO) 원리를 따르는 자료 구조입니다. 값 형식 변수는 스택 영역에 저장됩니다. 값 형식 변수는 크기가 고정되어 있으므로, 스택에 저장하기 적합합니다.
힙
힙은 동적으로 할당되는 메모리 영역입니다. 참조 형식 변수는 힙 영역에 저장됩니다. 참조 형식 변수는 크기가 가변적이므로, 힙에 저장하기 적합합니다. 힙은 가비지 컬렉션에 의해 관리되므로, 메모리 누수가 발생하지 않도록 주의해야 합니다.
결론
이번 글에서는 C#에서 객체 지향 프로그래밍의 특징, 복사와 참조, 스택과 힙에 대해 알아보았습니다. 이러한 개념을 잘 이해하면, C#을 더욱 효율적으로 사용할 수 있습니다.
'C#' 카테고리의 다른 글
C# 상속성과 은닉성 (0) | 2023.04.13 |
---|---|
C# 생성자와 static (0) | 2023.04.12 |
C# 인터페이스란? (0) | 2023.04.10 |
C# 제네릭 메서드 (0) | 2023.04.09 |
C# using 문 (0) | 2023.04.08 |