개발자 성장일지
제 4강 클래스(Class) 본문
1. 클래스
- 데이터와 메서드를 함께 묶어서 추상화된 데이터 유형을 정의하고 객체를 생성하는 템플릿
코드
더보기
class Person
{
// 속성(Property)
public string Name;
public string Birthdat;
public string Gender;
// 메소드(Method)
public void Eat()
{
Console.WriteLine(Name + "이 아침을 먹습니다.");
}
public void Walk()
{
Console.WriteLine(Name + "이 걷습니다.");
}
public void Run()
{
Console.WriteLine(Name + "이 뜁니다.");
}
}
class Mainclass
{
public static void Main(string[] args)
{
Person p1;
p1 = new Person();
p1.Name = "서준";
p1.Walk();
}
}
2. 오버로딩(Overloading)
- 같은 이름의 메서드를 매개변수의 개수나 타입을 다르게 하여 정의하는 것
코드
더보기
class Cat
{
public string Name;
public int Age;
public Cat(string name)
{
Name = name;
Console.WriteLine("고양이의 이름은 " + Name + " 입니다.");
}
public Cat(string name, int age)
{
Name=name;
Age = age;
Console.WriteLine("고양이의 이름과 나이는 " + Name +" "+ Age + " 입니다.");
}
~Cat() {
Console.WriteLine(Name + "이 사라집니다.");
}
}
class Plus
{
public int Num;
public int A;
public int B;
public Plus(int num, int a, int b)
{
Num = num;
A = a;
B = b;
int r1 = num + a + b;
Console.WriteLine("합은 " + r1 + "입니다.");
}
}
class MainClass
{
public static void Main(string[] args)
{
Cat Coco = new Cat("코코");
Cat Moly = new Cat("몰리", 5);
Plus result1 = new Plus(1, 2, 3);
Plus result2 = new Plus(4, 3, 2);
}
}
3. 상속
- 기존의 클래스가 가지고 있는 필드와 메서드를 그대로 물려 받은 자식 클래스를 정의하는 것
코드
더보기
오버라이딩(Overriding)
class Robot
{
public void Move()
{
Console.WriteLine("로봇이 움직입니다.");
}
}
class CleanRobot : Robot
{
public void Move()
{
Console.WriteLine("청소로봇이 움직입니다.");
}
}
class RescueRobot : Robot
{
public void Move()
{
Console.WriteLine("구조로봇이 움직입니다.");
}
}
class MainClass
{
public static void Main(string[] args)
{
CleanRobot cleanRobot = new CleanRobot();
RescueRobot rr = new RescueRobot();
cleanRobot.Move();
rr.Move();
}
}
4. 데이터 전달
- 매개변수
- 맴버변수
- private, this 키워드
- 외부에서 접근 가능여부
코드
더보기
class Cat
{
private string name;
public int Age;
public Cat(string name)
{
this.name = name;
Console.WriteLine("고양이의 이름은 " + name + "입니다.");
}
public void SetName(string name)
{
this.name = name;
}
public string GetName()
{
return this.name;
}
}
class MainClass
{
public static void Main(string[] args)
{
Cat coco = new Cat("코코");
coco.SetName("몰리");
Console.WriteLine("고양이의 이름은 " + coco.GetName() + "입니다.");
}
}
'인프런 > C# 프로그래밍 입문' 카테고리의 다른 글
제 6강 윈도우 프로그램 만들기 (0) | 2023.11.08 |
---|---|
제 5강 C#의 지식창고 MSDN (0) | 2023.11.08 |
제 3강 C# 기본기 쌓기 (0) | 2023.11.07 |
제 2강 Visual Studio 설치 및 첫 프로그램 (0) | 2023.11.06 |
제 1강 절차적 프로그래밍 언어와 객체 지향 프로그래밍 언어 (0) | 2023.11.06 |