Computer Engineering/컴퓨터 과학(CS: Computer Science)

[CS] 객체지향 프로그래밍이란?

잇트루 2022. 9. 5. 15:58
반응형

객체란? (Object)

사람과 동물, 어떤 논리나 사상, 개념 등 눈에 보이는 것부터 보이지 않는 것까지 객체라는 범주에 포함될 수 있다. 즉, 사람이 보고 느끼고 인지할 수 있는 모든 것을 의미한다. 자바와 같은 객체지향 프로그래밍은 이러한 객체로부터 시작된다.

 

프로그래밍 언어에서의 객체는 클래스에 의해 정의되고 설계된 내용을 기반으로 생성된다. 객체는 속성과 행위(기능)를 가진다. 즉, 클래스를 통해 만들어진 객체가 실제로 사용할 수 있는 주체가 된다. 객체의 속성은 필드(변수), 행위는 메서드에 해당한다. 속성과 행위는 이너 클래스와 함께 객체의 멤버이다.

클래스를 통해 생성된 객체를 클래스의 인스턴스(instance)라 부른다.

 

객체지향 프로그래밍 (OOP: Object Oriented Programming)

객체지향 이론의 핵심 개념은 실제 세계는 객체들로 구성되어 있으며, 발생하는 모든 사건들은 객체들 간의 상호작용을 발생한다는 전제로부터 출발한다.

 

절차적 프로그래밍 언어는 일련의 명령어들의 나열을 통해 코드를 작성하지만, 객체지향 프로그래밍 언어는 프로그래밍에서 필요한 데이터를 추상화하여 상태와 행위를 가진 객체로 만들고, 그 객체들 간의 유기적인 상호작용을 통해 특정 기능을 구성한다.

 

따라서, 객체는 하나의 독립적인 기능을 가진다. 그로 인해 재사용성이 높고 기존 코드를 활용하여 새로운 코드를 작성할 수 있다. 또한, 코드 간의 관계 설정을 통해 변경 또한 상대적으로 쉽게 할 수 있다. 즉, 프로그램 개발 및 유지 보수에 드는 비용과 시간을 줄일 수 있고, 객체를 통해 데이터를 관리하여 손실 없이 관리할 수 있다.

 

객체지향 언어의 핵심 기술에는 상속, 캡슐화, 다형성, 추상화가 있다.

반응형