C++이란?
C언어의 문법에 객체 지향을 지원하는 새로운 문법을 추가한 언어라 생각하면 쉽다. 새로운 문법이나 기술들이 추가되었지만, 기본 문법은 C언어와 동일하기 때문에 C언어처럼 사용할 수도 있다.
객체(Object)란?
C++에는 객체라는 개념이 추가되었다. 그렇다면 객체란 무엇일까? 여러가지 작업이나 그에 필요한 정보들을 하나의 단위로 만들어 놓은 것이라 생각하면 쉬울 것이다. 예를 들어, 커피를 만드는 작업을 생각해보자. 커피 하나를 만드는데에도 여러가지 작업이 필요하다 먼저 커피를 만들기 위한 재료를 준비해야 한다. 그리고 그 재료를 이용해서 커피를 만들어야 한다. 만들어진 커피를 마시는 것으로 작업이 마무리가 된다. 여기서 커피 재료를 데이터라 생각하고, 커피를 만드는 작업을 데이터를 관리하는 작업으로 생각하면 쉽다. 커피를 마시는 것은 당연히 데이터를 사용하는 작업이 된다. 이러한 작업들을 하나의 단위로 만들어 사용하는 것이 객체이다.
객체를 사용하는 이유는 정말로 간단하다. 커피를 만드는 작업으로 이어서 설명하겠다. 일일이 같은 작업들을 매번 반복하게 되면 정말로 비효율적이다. 이러한 반복되는 작업들을 하나의 단위로 만들어 놓으면 정말로 효율적일 것이다. 커피를 만드는 작업들을 하나의 단위로 만든 것을 자판기라 생각하면 이해하기 쉬울 것이다. 버튼 하나만으로 커피가 만들어지는 편리함을 누리는 것이다.
객체를 사용하는 것과 사용하지 않는 것의 차이를 알아보겠다. 먼저 객체를 사용하지 않는 경우를 생각해보자. 커피를 만들기 위한 재료들과 그 재료의 조합들을 항상 자신이 정해야 한다. 초보자의 경우에는 일정한 결과가 나오지 않을 것이고 여러가지 변화에 대응하기도 힘들 것이다. 그리고 앞서 말했다시피 반복되는 작업이 불가피하게 나올 것이다. 객체를 사용하는 경우에는 재료들과 그 조합을 한 번만 정해주면 일정한 결과가 나올 것이고, 여러가지 변화에도 변경해야할 부분들이 많지는 않을 것이다. 객체를 사용하면 원하는 작업들을 정확하게 구분지을 수 있고, 그 객체를 사용하는 사용자와의 인터페이스를 단순하게 해주어 활용성과 재사용성이 높아진다.
객체 지향(OOP)란?
객체 지향(Object Oriented Programming)이라는 말은 말 그대로 객체의 개념을 사용하여 프로그래밍을 하는 것이다. 프로그램이 하는 여러 작업들을 객체의 형태로 만들어서 프로그래밍을 한다는 것이다.
'C++ > C++ 기초' 카테고리의 다른 글
네임스페이스 (Namespace) (0) | 2019.09.09 |
---|---|
객체 파괴자 (0) | 2019.09.05 |
객체 생성자 (0) | 2019.09.02 |
오버로딩(Overloading) (0) | 2019.09.01 |
클래스(Class) (0) | 2019.08.31 |