공부/OOP

객체지향 프로그래밍의 필요성

kkkkkdddddhhhhh 2023. 12. 13. 00:55

절차지향 언어에서 사용하는 구조체(Struct)의 단점을 보완하기위해 객체지향 프로그래밍이 사용된다.

우선 구조체의 단점을 알아보자

  • 구조체와 구조체 데이터의 동작을 담당하는 메서드 서로가 분리 되어있다.
struct Human{
	int age;
	float height;
}

void Walk(Human* human){

}

// 절차지향언어인 C의 struct는 이렇게 데이터와 동작이 분리되어있다.
  • 데이터와 각각의 동작을 일일히 찾아봐야하기때문에 코드가 복잡해진다.

 

이렇게 구조체안에 함수까지 담기위한 고민들속에서 객체지향 언어가 태어났다.

 

OOP(Object Oriented Programming)

  • 객체는 상태(속성)를 가질뿐만 아니라 동작도 할 수 있다.
  • 프로그램을 구성하는 기본 요소를 객체로 보려는 노력.
  • OOP에서 프로그램이란 : 상호작용하는 객체들의 집합

'공부 > OOP' 카테고리의 다른 글

Singleton  (0) 2023.12.13
Static  (0) 2023.12.13
개체 모델링 가이드라인.  (0) 2023.12.13
getter,setter  (0) 2023.12.13
OOP의 특성  (0) 2023.12.13