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 |