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)로 만들어 데이터를 외부로부터 보호하는 것
이로써 클래스 내부의 정보를 은닉하여 외부에 노출되는 것을 막을 수 있다.