C# 기초강의 9_ 객체지향 프로그래밍

Park Yeeun·2023년 6월 29일
0

C# 기초공부

목록 보기
9/10

📌 OOP 특성

  1. 다형성 (Polymorphism)
  2. 캡슐화 (Encapsulation)
  3. 추상화 (Abstraction)
  4. 상속 (Inheritance)

📌 클래스 연습문제

💬 코드

internal class Program
{
  static void Main(string[] args)
  {
    Car car1 = new Car();
    Car car2 = new Car();

    car1.getModel();
    car1.handle = "1000";
    car1.getHandle();

    car2.getModel();
    car2.getHandle();

  }
}
internal class Car
{
	private string model = "DefaultModel";
    public string handle = "DefaultHandle";

	public void getModel()
	{
        Console.WriteLine(model);
    }

	public void getHandle()
    {
        Console.WriteLine(handle);
	}
}

💻 실행결과



📌 상속 연습문제

상속 시 internal class CarRenew : Car 형식

protected 로 선언된것은 자식클래스에서 사용 가능

💬 코드

static void Main(string[] args)
{
	CarRenew r1 = new CarRenew();
	r1.getModel();
	r1.handle = "2000";
	r1.getHandle();

	r1.getA();

}
internal class CarRenew : Car
{
  public void getA()
  {
 	 Console.WriteLine(a);
  }
}

💻 실행결과



📌 다형성 연습문제

동물 부모클래스 -> 소리 메소드 (동물소리)

고양이 자식클래스 -> 소리 메소드 (야옹)
강아지 자식클래스 -> 소리 메소드 (멍멍)
자식클래스 -> 소리 메소드 (짹짹)

💬 코드

static void Main(string[] args)
{
	Animal animal=new Animal();
	animal.animalSound();

	Dog dog = new Dog();
	dog.animalSound();

	Cat cat = new Cat();
	cat.animalSound();

	Bird bird = new Bird();
	bird.animalSound();

	animal = new Dog();
	animal.animalSound();

}
internal class Animal
{
  public virtual void animalSound()
  {
  	Console.WriteLine("동물소리");
  }
}
 internal class Dog : Animal
 {
   public override void animalSound()
   {
  	 Console.WriteLine("멍멍");
   }
 }
 internal class Cat : Animal
 {
   public override void animalSound()
   {
  	 Console.WriteLine("야옹");
   }
 }
 internal class Bird : Animal
 {
	 //public override void animalSound()
	 //{
     //  Console.WriteLine("짹짹");
 	 //}
 }

💻 실행결과

profile
새싹 개발자입니당 🌱

0개의 댓글