Plo Hanghae99

항해99 2주차 회고(2) 객체지향 프로그래밍이란?

PLO_98 2022. 3. 21. 01:38

출처 : https://img1.daumcdn.net/thumb

객체지향 프로그래밍

Object-Oriented Programming

 

프로그램의 설계 방법이자 개념의 일종이다.

프로그램의 구현에 필요한 객체를 파악하고

각각의 객체들의 역할을 정의 , 객체들간의 상호작용을 이용하여

프로그램을 만들어내는 것을 뜻한다.


객체지향 프로그래밍의 장점

1. 재사용성 : 어떤 객체(class)를 다른 객체(class)가 상속하여 프로그래밍할 때에 코드의 재사용성을 높힐 수 있다.

2. 생산성의 향상 : 잘 설계된 객체(class)를 만들어 독립적으로 재사용함으로써 생산성을 크게 높힐 수 있다.

3. 유지보수의 편의성 : 기존 기능 수정 ,  새로운 기능 추가에 용이하다.

객체지향의 특징중 하나인 캡슐화로 인하여 기존 함수를 수정하더라도 주변에 미치는 영향이 최소화되며

새로운 기능 추가시 에는 기존 클래스중 필요한 기능만을 상속 , 새로운 기능을 추가하면되기 때문이다.

 

객체지향 프로그래밍의 단점

1. 속도 : 절차지향 프로그래밍은 컴퓨터의 처리 구조와 비슷해 처리 속도가 빠른반면

OOP의 처리 속도는 절차지향에 비해 상대적으로 느리다.

2. 설계 : 객체별 설계를 필요로하므로 설계에 많은 시간과 노력이 필요하다.


객체지향 프로그래밍의 특징

1. 추상화 : 객체들의 공통적인 특징을 도출한다. Class를 정의하는 것

2. 캡슐화 : 외부로 보여지면 안되는 정보의 은닉이 가능하다, 객체의 독립적 역할이 가능하도록 데이터와 기능을 하나로 묶어 관리한다.

3. 상속 : 새로운 객체가 기존의 객체를 상속받음으로써 상속받은 객체의 자료와 연산의 사용이 가능해지게 한다.

4.다형성 : 다르게 동작하는 함수들을 동일한 이름으로 호출 -> OverLoading , OverRiding