오브젝트지향 【object oriented】

읽기 : 오브젝트 지향

별칭 : 객체지향

소프트웨어의 설계나 개발에 있어서, 절차보다도 대상에 중점을 둔 사고방식이다.

관련된 데이터의 집합과 그에 대한 절차(메소드)를 [오브젝트(객체)]라 불리는 하나의 단위로 관리하여, 그 조합에 의해 소프트웨어를 구축한다.

이미 존재하는 오브젝트에 대해서는, 이용할 때에 그 내부구조나 동작원리에 대해 구체적으로 파악할 필요가 없이 외부에서 메세지를 보내면 동작되기 때문에, 특히 대규모 소프트웨어 개발에 있어서는 유효한 사고방식이라고 할 수 있다.

데이터나 그 집합을 현실 세계의 [물건]에 비유한 사고방식이기 때문에 [오브젝트(객체)]지향이라고 불린다.

예를들어 TV를 리모콘 등으로 조작할때에 TV 내부에서 어떠한 회로가 움직이고 있는지 이해할 필요가 없다. 단 TV의 조작법만 알고 있으면, 그것만으로도 TV를 이용할 수 있다.

즉, [TV]라는 오브젝트는 자신(의 내부를 구성하는 전자회로)를 동작 시키는 절차를 알고 있으며, 그것을 우리가 실제로 이용하기 위해서는 (예를들어 리모콘으로) 적절한 메세지를 보내주기만 하면 된다.

이런식으로 어떠한 [데이터]와 그것을 조작하기 위한 [절차]의 조합이 [오브젝트]이다.

개개의 조작대상에 대해 고유의 조작방법을 설정함으로서, 그 내부동작을 블랙박스화 하여, 이용하기 쉽도록 한 사고방식이라고 할 수 있다. 이러한 사고방식을 응용한 프로그래밍 기법이, 오브젝트지향프로그래밍(OOP)이다.

의견 또는 추가를 원하는 용어: