Computer Science

객체지향프로그래밍(OOP)의 네 가지 특성

Dev_Green 2024. 4. 25. 21:44

객체지향프로그래밍(Object-Oriented Programming)이란

컴퓨터 프로그램을 여러 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍 패러다임이다.

 

객체지향프로그래밍의 네 가지 특성

1. 추상화

객체의 공통적인 속성과 메서드를 추출하여 정의하는 것

2. 상속

부모 클래스에서 정의된 속성과 메서드를 자식 메서드에서 재활용하는 것

3. 다형성

어떤 객체의 속성이나 메서드가 상황에 따라 여러 형태를 가질 수 있는 것

이러한 다형성을 구현하는 방법이 바로 Overloading과 Overriding

 

Overloading vs Overriding

1. Overloading 

  • 하나의 클래스에서 같은 이름의 메서드를 여러 개 정의하는 것
  • 오버로딩의 조건
    • 파라미터 개수 혹은 각 파라미터의 타입이 달라야 한다.

2. Overriding

  • 상속관계에서 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것

4. 캡슐화

서로 연관있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것

이로써 클래스 내부의 정보를 은닉하여 외부에 노출되는 것을 막을 수 있다.