Contents
접기
728x90
1. 클래스(Class)란?
클래스(붕어빵틀)는 객체(붕어빵)를 만들기 위한 설계도이다.
프로퍼티(속성), 필드(데이터), 메서드(동작)를 포함하여 하나의 개념 또는 기능을 캡슐화한다.
class Person
{
public string Name;
public int Age;
public void SayHello()
{
Console.WriteLine($"안녕하세요, 저는 {Name}이고 {Age}살입니다.");
}
}
🔹객체 생성
Person p = new Person(); // 클래스는 new 키워드로 생성해야 함
p.Name = "도치";
p.Age = 25;
p.SayHello(); // 출력: 안녕하세요, 저는 도치이고 25살입니다.
2. 클래스의 주요 구성요소
클래스는 필드, 메서드, 생성자, 소멸자로 구성된다.
① 필드 (Fields)
- 클래스 내부에서 선언된 변수
- 객체의 상태(state) 를 저장
class Person {
public string name; // 필드
public int age; // 필드
}
② 메서드 (Methods)
- 클래스에서 정의하는 기능이나 동작
- 객체가 할 수 있는 일들을 정의
class Person {
public void SayHello() { // 메서드
Console.WriteLine("안녕하세요!");
}
}
③ 생성자 (Constructors)
- 객체를 초기화할 때 호출되는 특별한 메서드
- 클래스 이름과 같고, 반환형이 없다
class Person {
public string name;
// 생성자
public Person(string inputName) {
name = inputName;
}
}
④ 소멸자 (Destructors)
- 객체가 소멸될 때 실행되는 메서드(반환타입X, 매개변수X)
- 주로 리소스 정리에 사용되며, C#에서는 잘 사용되지 않음 (가비지 컬렉터가 자동 관리함)
- 자원해제, 메모리 해제, 로깅 및 디버깅(객체가 소멸되는 시점에 로깅하거나 디버깅 정보를 기록할 수 있다.)
class Person {
~Person() {
Console.WriteLine("객체가 소멸됩니다.");
}
}
3. 클래스의 특징
특징 | 설명 |
참조 타입 | 객체는 힙(Heap)에 저장되며, 변수는 참조(주소)를 저장 |
new 필요 | 인스턴스를 만들기 위해 new 키워드를 사용해야 함 |
캡슐화 | 관련 데이터를 하나의 구조로 묶어 다룰 수 있음 |
상속 가능 | 다른 클래스를 상속받아 기능 확장 가능 |
메서드 포함 | 클래스 내부에 기능(메서드)을 정의할 수 있음 |
📖 정리
- 클래스는 데이터를 표현하고 기능을 함께 정의하는 설계도
- 객체를 생성할 때는 new 키워드를 사용
- 참조 타입이라 여러 참조가 같은 객체를 가리킬 수 있음
- 복잡한 프로그램을 모듈화하고 재사용하기 쉽게 도와줌
728x90
'C# > 클래스와 구조체' 카테고리의 다른 글
[C#] 상속(Inheritance) (0) | 2025.04.17 |
---|---|
[C#] 프로퍼티 (Property) (0) | 2025.04.17 |
[C#] 객체 (0) | 2025.04.17 |
[C#] 클래스 구조체 차이 (0) | 2025.04.17 |
[C#] 구조체 (0) | 2025.04.17 |