[IT 소프트웨어 용어] 객체지향 프로그래밍이란?
1. 객체지향 프로그래밍(Object-oriented programming)
프로그램이 길어지고 복잡해지면 변수도 많아지고 코드 또한 길어져서 해석하는데 시간이 오래 걸린다.
그래서 프로그램을 짤 때 동일한 목적이나 기능을 하는 변수와 함수들을 각각 하나로 묶어서 객체(object)로 만들고 그 객체들끼리 상호 통신하면서 돌아가도록 코드를 구성하는데 이것을 객체지향 프로그래밍이라 한다.
객체지향 프로그래밍을 활용하면 어떤 오류가 발생했을 때 프로그램 전체를 살펴보지 않고 각 객체들을 살펴보면서 수정을 할 수 있다. 또한 이렇게 함으로서 프로그램의 크기도 줄일 수 있게 된다.
예를 들어보자.
반 친구들이 모두 이름도 다르고 개성도 다르지만 ‘사람’이라는 동일한 존재이다.
여기에서 ‘사람’처럼 하나의 추상화된 클래스가 있고 사람의 속성을 가진
둘리, 또치, 마이클 등 각각의 개인들이 있는 것처럼 객체라는 하나의 큰 틀을 만들고
그 속성들을 지닌 존재들을 만들어내는 것이 객체지향 프로그래밍이다.
2. 붕어빵으로 살펴보는 객체 프로그래밍
붕어빵 틀이 있고 그 틀을 이용해 붕어빵을 만들어내는 붕어빵으로 예를 들어보자.
붕어빵 틀 = 클래스 코드
클래스 틀을 가지고 객체를 찍어내는 방법이 바로 객체지향 프로그램이다.
붕어빵 만들 때 안에는 팥, 슈크림 등 다른 맛을 집어넣어 붕어빵을 만들어 낼 수 있다.
이처럼 객체들을 찍어낼 때 그 안의 데이터 값을 변화시켜 각각 다른 종류로 만들 수 있다.
객체지향 프로그래밍은 객체들이 만들어지고 각 객체들끼리 자기의 일을 하면서 다른 객체와 소통하도록 프로그래밍 되어 있어서 실제 사람들이 사는 세상과 비슷한 형태로 모델링 한다는 재밌는 특징을 가지고있다.