
3주차 강의를 들었는데 클래스가 이해가 잘 안되어서 다시 공부하면서 정리해보았다.
class Person
{
public string Name; //1. 필드 (Fields)
public int Age;
public void Print() //2. 메서드 (Methods)
{
Console.WriteLine($"이름 : {Name} \n나이 : {Age}");
}
}
static void Main(string[] args)
{
Person p = new Person(); //3. 생성자 (Constructors)
p.Name = "hi";
p.Age = 22;
p.Print();
}
클래스, 필드, 메서드 등의 접근 가능한 범위를 지정하는 키워드
클래스는 필드와 메서드로 구성
class Person
{
//필드
public string Name;
public int Age;
}
class Person
{
public string Name;
public int Age;
//메서드
public void Print()
{
Console.WriteLine($"이름 : {Name} \n나이 : {Age}");
}
}
Person person1 = new Person(); // 디폴트 생성자 호출
// 클래스와 동일한 이름을 가지며, 반환 타입이 없음
Person person2 = new Person("John", 25); // 매개변수를 받는 생성자 호출
~Person()
{
Console.WriteLine("Person 객체 소멸"); //자원, 메모리 해제 및 로깅, 디버깅
}
[접근 제한자] [데이터 타입] 프로퍼티명
{
get
{
// 필드를 반환하거나 다른 로직 수행
}
set
{
// 필드에 값을 설정하거나 다른 로직 수행
}
}
[접근 제한자] [데이터 타입] 프로퍼티명 { get; set; } // 자동 프로퍼티
처음엔 강의를 들으면서 솔직히 이해 1도 못했는데, 제공된 강의 자료랑 같이 보니까
조금씩 이해가 되었다. 마지막으로 다시 한번 적어보니까 더 이해가 잘 되는거같다.
벌써부터 개인과제에 대한 걱정이 한가득 생겼다. ㅎㅎ;;