객체지향 언어

양성빈·2022년 6월 11일

참고
자바의 정석

객체지향 언어

객체지향언어의 역사

요즘 현대시대에는 컴퓨터를 사용하지 않는 분야가 없을 정도로 많은 사람들이 사용하고 있다. 하지만, 초창기에는 과학실험이나 미사일 발사실험 같은 모의실험을 목적으로 사용해왔다. 이 때, 과학자들은 모의실험을 할 가상세계를 구축하는데 실제 세계와 똑같이 구현하고자 노력을 하였고 이때 객체지향론이 등장하였다.
객체지향이론의 기본개념은 '실제 세계는 사물(객체)로 이루어져 있으며 발생하는 모든 사건들은 객체간의 상호작용이다' 라는 것이다. 실제 사물의 속성과 기능을 데이터(변수)와 함수로 정의함으로 실제세계를 가상세계에 그대로 구현을 하면서 가상세계에서 모의실험을 함으로 시간과 비용을 절감을 할 수 있었다. 그 이후, 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 발전하였으며 이 이론을 반영한 최초 객체지향언어 시뮬라 라는 언어가 개발되었다. 그 이후에, C++을 비롯하여 여러 객체지향언어가 알려지기 시작했고, 많은 개발자들의 시선을 잡았지만, 사용자층은 그렇게 많지가 않았다.
하지만, 많은 기술들의 발전이 일어나고 인터넷이 등장함으로 많은 사람들은 절차지향적 언어의 한계를 느끼고, 객체지향 언어가 주류를 잡기 시작하였다. 우리가 흔히 생각하는 마인크래프트도 실제세계를 가상세계로 만들어둔 게임으로 자바를 이용하여 만들어졌다.

객체지향언어

객체지향언어는 완전 새로운 언어가 아니라, 기존의 프로그래밍 언어에서 몇가지 규칙들을 추가한 발전된 언어이다. 이 규칙들이 코드간의 관계를 맺어줌으로 유기적인 개발이 가능해졌다. 그럼 객체지향의 규칙들을 알아보자.

  1. 코드의 재사용성이 높다.
  • 새로운 코드를 작성할 때, 기존의 코드를 이용하여 쉽게 작성할 수 있다.
  1. 코드의 관리가 용이하다.
  • 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
  1. 신뢰성 높은 프로그래밍을 가능하게 한다.
  • 제어자와 메서드를 이용해서 데이터를 보호하고, 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
  • 객체지향 언어의 큰 장점은 코드의 재사용성을 높곡 유지보수가 용이하다 라는 장점이 있고 이러한 장점은 개발과 유지보수에 시간과 비용을 대폭 줄여줄 수 있다.
  • 앞으로 객체지향개념을 학습할 때, 재사용성과 유지보수 그리고 중복된 코드의 제거 이 3가지 관점을 보면 쉽게 이해할 수 있다.
  • 하지만, 이러한 개념을 학습해도 객체지향적으로 바로 짜기에는 너무 어렵다. 그래서 객체지향개념을 얽혀서 작성하기보단, 일단 작성하고, 객체지향적으로 어떻게 개선할수 있는지 고민하고 리팩토링하면 될 것이다.
  • 객체지향적으로 잘 짤려면 설계능력이 필요하며 거시적 관점에서 작성할 줄 알아야 할 것이므로 이러한 능력을 잘 키우는 것이 중요하다.
profile
모든 것을 즐길줄 아는 개발자입니다!

0개의 댓글