반응형
아래 글은 C# 생성자 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- C# 교과서(길벗 출판사) - 35단원 생성자 470 ~ 481페이지
- 유튜브채널 VisualAcademy [C# 교과서 마스터하기 35. 생성자]
https://www.youtube.com/watch?v=5Qi7VYJKQkE
✳ 생성자 (Constructor)
- 클래스 이름과 동일한 이름을 사용하는 메서드
- 클래스 실행 시 제일 먼저 실행되는 메서드
- 클래스(개체)를 초기화 시켜주는 메서드
-> void 키워드를 붙이지 않고 반환 값도 없음 - 생성자는 개체를 초기화
-> 클래스 내의 필드를 초기화 - 현실 세계에서 자동차의 시동을 거는 동작에 비유
✳ 기본 생성자 사용
- 기본 생성자의 특징
- public 액세스 한정자
- 클래스명과 동일한 이름사용
- 반환값도 없고, void도 아님
- 매개변수가 없음
- 모든 필드를 zero, false 또는 null로 초기화 - 생성자 문법
-> class Data { public Data() { . . . } }
예제코드(생성자의 종류)
using System;
namespace 생성자_종류
{
// 클래스
public class Person
{
// 필드
private static readonly string _Name;
private int _Age;
//[!] 생성자 종류: 정적(static)과 인스턴스(instance)
//[1] 정적 생성자
static Person() { _Name = "홍길동"; }
//[2] 인스턴스 생성자: 매개변수가 없는 생성자
public Person() { _Age = 21; }
//[3] 인스턴스 생성자: 매개변수가 있는 생성자
public Person(int _Age)
{
this._Age = _Age; // this.필드 = 매개변수;
}
// 정적 메서드
public static void Show()
{
Console.WriteLine("이름 : {0}", _Name);
}
// 인스턴스 메서드
public void Print()
{
Console.WriteLine("나이 : {0}", _Age);
}
}
public class 생성자_종류
{
static void Main(string[] args)
{
//[1] 정적 생성자 실행
Person.Show(); // 정적인 멤버 호출
//[2] 인스턴스 생성자 실행
Person p1 = new Person(); p1.Print(); // 인스턴스 멤버 호출
Person p2 = new Person(22); p2.Print();
}
}
}
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 열거형(Enumeration) (0) | 2021.05.24 |
---|---|
C# 구조체(Structure Types) (0) | 2021.05.23 |
C# 필드(Field) (0) | 2021.05.21 |
C# 이벤트(Event) (0) | 2021.05.21 |
C# 대리자(Delegate) (0) | 2021.05.20 |