SteadyDrills

객체지향 프로그래밍 (Object Oriented Programming, OOP)이란? 본문

CS

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

Drills 2024. 8. 7. 23:41

240807

 

 

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


필요한 데이터를 추상화시켜 상태와 행위를 가진 객체(Object)를 만들 고객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

 

● 객체 지향 프로그래밍의 유래

초기 프로그래밍은 절차적 프로그래밍이었는데,

코드 재사용성, 복잡성 관리, 모듈화, 현실 세계 모델링, 데이터 은닉, 확장성, 협업 등 다양한 이유로 탄생하게 되었다.

 

객체지향 프로그래밍 (Object Oriented Programming, OOP) 4가지 특징


• 캡슐화

 - 외부로부터 클래스에 정의된 속성과 기능들을 보호하고, 필요한 부분만 외부로 노출되게 한다.

   ➡️객체 고유의 독립성과 책임 영역 보호(권한 외 접근, 수정 등 금지)


• 추상화 

 - 객체( Object )의 공통적인 속성과 기능(Method)을 추출하여 클래스(Class)로 정의.

   복잡한 시스템에서 불필요한 세부 사항을 숨기고, 중요한 부분만을 간추려 표현하는 것. 


• 상속화

 - 새로운 클래스가 기존의 클래스의 속성과 메서드를 물려받아 재사용할 수 있게 하는 기능. 상속을 통해 코드의 재사용성을 높이고, 계층 구조를 형성.


• 다형화

 - 동일한 메서드가 다양한 객체에서 다르게 동작할 수 있게 하는 특성. 주로 메서드 오버라이딩(Overriding)과 오버로딩(Overloading)을 통해 구현.

오버라이딩 (Overriding) - 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것.

오버 로딩 (Overloading) - 동일한 이름의 메서드를 여러 개 정의하되, 매개변수의 타입이나 개수를 다르게 하는 것.