본문 바로가기

프로그래밍 기초/기초문법

객체지향_2

* 영어표기가 디폴트, 이하 한글표기

* Angular 기준

* 객체지향_1 (https://seo-developer.tistory.com/18) 이어짐


0. 절차지향 VS 객체지향

1). 배경

- 초기에 절차적 프로그래밍이었다.

- 그러나 성능 및 필요에 의해 점점 복잡해짐. 순차대로 해결을 하려면 코드의 구조가 난잡해질 수 밖에 없다.

- 그래서 등장한 것이 객체 지향

- 따라서 한 부분 한 부분을 각각의 독립적인 객체로 만들어 / 탄생하게 된 것이 객체지향 프로그래밍

 

2). 객체지향의 구성요소

     (1). 객체: object

     (2). 메소드: 일종의 함수.

     (3). 클래스: 객체, 메소드 들의 집합

 

3). 객체지향의 특징

- 캡슐화: 하나 하나가 객체이므로 캡슐처럼 안에 담아서 사용 가능

- 은닉: 캡슐화가 가능하므로, 캡슐 안에서 보안이 필요한 데이터를 감출 수 있다.

- 상속: 마트료시카를 생각하면 이해가 쉬운데, 커다란 캡슐 안에 들어간 작은 캡슐은 말 그대로 상속되어있다.

- 다형성: 하나하나가 객체이므로 다양한 형태를 지닐 수 있다.

- 추상화

   ~ 이해를 돕기위해 같은 말을 여러 표현으로 설명
     - 헤더, 인터페이스처럼 ' ~하겠다 ' 라고 미리 선언해두는것

     - 불필요한 부분을 생략하고 객체의 속성중 가장 중요한 것에만 중점을 두어 개략화

     - 공통의 속성이나 기능을 묶어 이름을 붙이는것

     - 객체지향의 관점으로 클래스를 정의, 인터페이스를 선언

     - 재사용성, 가독성, 생산성 등이 뛰어나며 에러가 감소된다.

 

4). 정리

- Angular 에서 컴포넌트화 하는게 일종의 객체지향 프로그래밍.

- 이렇게 공부했는데 어디가서 추상화가 뭔지 캡슐화가 뭔지 설명 못하면 ' 객체지향_3 ' 까지 포스팅 하자.

 

'프로그래밍 기초 > 기초문법' 카테고리의 다른 글

배열  (0) 2022.11.08
저급언어와 고급언어  (0) 2022.11.04
undefined, null  (1) 2022.09.30
Context (공부중)  (0) 2022.09.27
Callback, =>  (1) 2022.09.15