객체 지향 프로그래밍

Junny_·2022년 7월 22일
0
post-custom-banner

객체 지향 프로그래밍

Object Oriented Programming

객체 지향 프로그래밍(OOP)이란 총 4가지의 특징 ( 추상화, 캡슐화, 상속, 다형성)을 골고루 활용하여 코딩하는 프로그래밍을 객체지향이라고 설명할 수 있다

객체 지향이 아닌 절차 지향을 사용할경우, 코딩이 비교적 쉽게 가능하고 문제를 여러 개의 함수로 나누어 순차적으로 호출하다 보니 프로젝트 활동시에는 이러한 오래된 방식이 적합하지 않으며, 매우 안좋은 방식이라고 볼 수 있다.

허나 객체 지향을 사용할경우, 문제를 여러 개의 객체 단위로 나누어 처리가 가능하며 대형 프로젝트에 활용성이 대단히 좋기때문에 객체 지향을 대부분 사용하고 있다 문제는 활용 능력이 정말 중요하고, 학습난이도가 너무 높다는게 단점이다

캡슐화

캡슐화는 외부에서 데이터(속성)와 기능(메서드)을 따로 정의하는 것이 아닌, 하나의 객체 안에 넣어서 묶는것 즉, 느슨하게 결합된다고 할 수 있다

느슨한 결합은 코드 실행 순서에 따라 절차적으로 코드를 작성하는 것이 아니라, 코드가 상징하는 실제 모습과 닮게 코드를 모아 결합하는 것을 의미

은닉화라는 특징도 포함하는데, 은닉화는 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만든느 것이다
따라서 데이터는 숨기고, 외부 동작만 노출시켜야 한다

추상화

추상화는 내부 구현은 엄청 복잡하고 어려우나, 실제로 노출되는 부분은 단순하게 만든다는 개념으로 클래스 정의 시, 메서드와 속성만 정의한 것을 인터페이스라고 부르며 이것이 추상화의 본질이다

캡술화와 다른점은 추상화는 클래스를 사용하는 사람이 필요하지 않은 메서드 등을 노출시키지 않고, 캡슐화는 코드나 데이터의 은닉에 포커스가 맞춰져있다

상속

상속은 말 그대로 부모 클래스의 특징을 자식 클래스가 물려받는 것으로 정의할 수 있다

다형성

객체가 도일한 메서드라 하여도, 다른방식으로 구현될 수 있는 방식
즉 다양항 형태를 가질수 있으며 같은 이름을 가진 메서드라도 다르게 동작하는 것을 다형성이라고 한다

profile
Front-end
post-custom-banner

0개의 댓글