C#/기초

[C#] 객체지향 프로그래밍

도도돋치 2025. 4. 17. 17:08
Contents 접기
728x90

 

1. 객체지향 프로그래밍이란?

객체지향 프로그래밍(OOP) 은 프로그램을 객체(Object) 단위로 나누어 개발하는 방식이다.
각 객체는 데이터(속성)  기능(메서드) 을 함께 가지며, 서로 협력해 프로그램을 구성한다.

 

 

2. 객체지향의 4대 특징

캡슐화(Encapsulation), 상속 (Inheritance), 다형성 (Polymorphism), 추상화 (Abstraction)

 

①캡슐화(Encapsulation)

 

  • 데이터(변수)와 기능(메서드)을 하나의 단위로 묶는 것
  • 외부에서 직접 접근하지 못하도록 숨기고(private), 필요한 정보만 공개(public)
class BankAccount {
    private int balance = 1000;

    public void Deposit(int amount) {
        balance += amount;
    }

    public int GetBalance() {
        return balance;
    }
}

 


상속(Inheritance)

 

  • 부모 클래스의 속성과 기능을 자식 클래스가 물려받는 것
  • 코드 재사용성을 높여줌
class Animal {
    public void Breathe() {
        Console.WriteLine("숨을 쉰다");
    }
}

class Dog : Animal {
    public void Bark() {
        Console.WriteLine("멍멍");
    }
}

 


다형성(Polymorphism)

 

  • 같은 이름의 메서드가 서로 다른 방식으로 동작하는 것
  • 오버라이딩과 오버로딩으로 구현
class Animal {
    public virtual void Speak() {
        Console.WriteLine("동물이 소리를 낸다");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("야옹");
    }
}

 


추상화(Abstraction)

 

  • 공통된 개념을 뽑아내어 필요한 부분만 노출하고, 세부 사항은 감추는 것
  • 인터페이스 또는 추상 클래스를 사용해 구현
interface IMovable {
    void Move();
}

class Car : IMovable {
    public void Move() {
        Console.WriteLine("자동차가 달린다");
    }
}

 

 

📖 정리

✓객체지향 프로그래밍은 프로그램을 객체 중심으로 구성해 유지보수와 확장에 유리
 캡슐화, 상속, 다형성, 추상화는 OOP의 핵심
클래스는 객체를 만들기 위한 설계도, 객체는 그 설계도로 만들어진 실체
C#은 강력한 객체지향 언어로 다양한 패턴과 기능을 지원함

 

728x90

'C# > 기초' 카테고리의 다른 글

[C#] 접근 제한자와 반환 타입  (0) 2025.04.17
[C#] C#개념  (0) 2025.04.14
SOLID원칙  (0) 2025.04.13