728x90
반응형
using System;
class Program
{
public static void Main(string[] args)
{
Person p1 = new Person();
p1.Name = "김두한";
p1.Eat();
}
}
class Person
{
public string Name;
public void Eat()
{
Console.WriteLine(Name + "(이)가 식사를 합니다.");
}
}
using System;
class Program
{
public static void Main(string[] args)
{
Cat cat = new Cat("야옹이");
}
}
class Cat
{
public string Name;
public Cat(string name)
{
Name = name;
Console.WriteLine("고양이의 이름은 " + Name + "입니다.");
}
}
- 오버로딩
using System;
class Program
{
public static void Main(string[] args)
{
Cat cat = new Cat("야옹이", 40);
}
}
class Cat
{
public string Name;
public int Weight;
public Cat(string name)
{
Name = name;
Console.WriteLine("고양이의 이름은 " + Name + "입니다.");
}
public Cat(string name, int weight)
{
Name = name;
Weight = weight;
Console.WriteLine("고양이의 이름은 " + Name + "이고, 몸무게는 " + weight + "입니다.");
}
}
- 소멸자
~을 클래스 이름에 표시하면 된다. 그리고 생성자는 클래스를 초기화할 때 자동으로 생성되지만, 소멸자는 인스턴스 변수가 사라질 떼 호출되기 때문이다.
using System;
class Program
{
public static void Main(string[] args)
{
Cat cat = new Cat("야옹이");
}
}
class Cat
{
public string Name;
public int Weight;
public Cat(string name)
{
Name = name;
Console.WriteLine("고양이의 이름은 " + Name + "입니다.");
}
~Cat()
{
Console.WriteLine(Name + "이(가) 죽었습니다.");
}
}
728x90
반응형
'c#' 카테고리의 다른 글
C# [8] 클래스의 데이터 전달 방법 - 매개 변수 & 클래스의 데이터 전달 방법 - 멤버 변수 & private, this 키워드의 활용 (0) | 2025.04.07 |
---|---|
C# [7] 오버라이딩 (0) | 2025.04.07 |
C# [5] 클래스 vs 인스턴스 차이 & 클래스, 인스턴스 생성 & 속성과 메서드 호출 (0) | 2025.04.07 |
C# [4] 산술연산자, 증가/감소 연산자, 관계연산자, 논리 연산 & 형변환 (0) | 2025.04.07 |
C# [3] for 반복, while 반복 (0) | 2025.04.07 |