본문 바로가기

카테고리 없음

객체 지향 프로그래밍(OOP)

 

절차적 언어

-객체 지향 프로그래밍 등장이전

-초기의 프로그래밍 언어

-순차적인 명령의 조합

 

객체지향 언어

-"클라스"라고 부르는 데이터 모델의 청사진을 사용해 코드작성

-현대의 언어들의 대부분(Java, C++,C# ...)

-JavaScript :객체 지향으로 작성 가능

 

객체 지향 프로그래밍

-데이터의 접근과 데이터의 처리 과정에 대한 모형을 만들어 내는 방식

-데이터와 기능이 별개가 아닌 묶음으로 처리(메서드와 속성이 존재)

-자바스크립트는 객체 지향 패턴으로 작성 가능

-OOP: 모든 것은 "객체"로 그룹화, 재사용성,

 

OOP Basic Concepts 4가지

-Encapsulation(캡슐화)

1.데이터와 기능을 하나의 단위로 묶는 것

2.은닉(hiding): 구현은 숨기고 동작은 노출시킴, 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 것. 객체 외부에서 필요한 동작(메서드)만 노출시킴.

3.느슨한 결함(Loose Coupling)에 유리: 언제든 구현을 수정할 수 있음

코드 실행 순서에 따라 절차적으로 코드 작성하는 것x, 코드가 상징하는 실제모습과 닮게 코드를 모아 결합하는 것

(코드만 보고도 인스턴스 객체의 기능을 상상할 수 있게 작성하는 것)

 

->코드를 단순화 시키고 재사용성을 높임

 

-Ingeritance(상속)

:기본 클래스(base class)의 특징을 파생 클래스(derived class)가 상속받는 것/ 부모 클래스의 특징을 자식 클래스 물려받는 것

 

->불필요한 코드를 줄요 재사용성을 높임.

 

-Abstraction(추상화)

:실제 노출되는 부분을 단순하게 만든다는 개념.

 

->단순화된 사용으로 변화에 대한 영향 최소화

 

-Polymorphism(다형성)

:똑같은 메서드라 하더라도 다른 방식으로 구현될 수 있음. 다양한 형태로 나타남

 

->동일한 메서드에 대해 객체의 특성에 맞게 달리 작성하는 것이 가능.

 

 

=>꼭알아두기!!