1. 객체, 클래스
객체는 클래스의 인스턴스이고, 각 객체는 필드와 메서드를 가지고 있다.
여기서 필드는 상태, 메서드는 행동을 표현한다.
클래스는 객체를 생성하기 위한 틀이라고 생각하면 된다. 이를 기반으로 생성된 인스턴스가 객체이다.
2. 생성자
생성자는 객체를 생성할 때 호출되어 객체를 초기화해주는 역할을 가지고 있다.
C#은 기본적으로 생성자를 구현하지 않아도 사용 가능한 매개변수가 없는 생성자를 지원한다.
public class Test
{
int n;
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
}
}
만약 생성자를 하나라도 구현한다면 기본 생성자의 지원이 중단된다.
오버로딩을 통해 매개변수를 달리 하여 여러 생성자를 구현할 수 있다.
public class Test
{
int n;
public Test()
{
n = 0;
}
public Test(int n)
{
this.n = n;
}
}
class Program
{
static void Main(string[] args)
{
Test test1 = new Test();
Test test2 = new Test(10);
}
}
3. 접근제한자
크게 public, private, protected 3가지가 존재한다.
public은 모든 곳에서 접근 가능하다.
private는 같은 클래스 내에서만 접근 가능하다.
protected는 같은 클래스 및 파생 클래스 내에서만 접근 가능하다.
private와 protected를 통해 객체를 캡슐화 및 은닉화 시킨다.
4. static 한정자
static 한정자는 클래스 자체 멤버에 속하도록 지정해준다.
인스턴스와 독립적이기에, 인스턴스가 여러개라도 static 멤버를 위한 메모리는 한 공간만 필요하다.
'CS > C#' 카테고리의 다른 글
[ C# ] 상속, 인터페이스, 추상 클래스 (1) | 2024.11.05 |
---|---|
[ C# ] 값 형식, 참조 형식 (0) | 2024.09.26 |
[ C# ] Callback, Delegate, Event (0) | 2024.08.09 |
[ C# ] 객체지향 프로그래밍 (0) | 2024.07.26 |