* 영어표기가 디폴트, 이하 한글표기
* 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 |