일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 문법
- 브라우저
- 타입
- 마틴파울러
- basic
- 개발자
- type
- TypeScript
- 리액트
- refactoring
- 책
- 개정판
- 2판
- 리팩터링
- 자료구조
- 자바스크립트문법
- js
- 기본
- 엘리
- rendering
- javascript
- 렌더링
- ES5
- 클린코드
- 자바스크립트
- 리뷰
- 도서
- syntax
- React
- 리팩토링
- Today
- Total
목록OOP (2)
Santos의 개발블로그
* 이 글은 드림코딩 by 엘리님 강의를 참고하여 만들었습니다. 오스트랄로피테쿠스가 크로마뇽인(?)이 되는 것처럼 코드가 진화하는 내용을 이곳에서 담았습니다. 절차지향적인 코드가 객체지향적으로 변모하는 모습을 기록하기 위해 이번 글을 쓰게되었습니다. 주제는 커피머신입니다. 다양한 커피를 만들기 위한 머신과 이를 통해 추출할 수 있는 여러 커피들을 TypeScript + OOP로 구현했습니다. 코드는 순차적으로 보시면 좋을 것 같습니다. 그럼 시작하겠습니다 1. without-oop (절차지향 코드) { type CoffeeCup = { shots: number; hasMilk: boolean; }; const BEANS_GRAMM_PER_SHOT: number = 7; let coffeeBeans: nu..
패러다임 발전과정 순차적 프로그래밍 - 말 그래도 순차적으로 코딩해 나가는 방법이다. - 필요한 것이 있으면 계속 순서대로 추가해가며 구현하는 방식이다. 문제점: 점점 규모가 커지게 되면 나중에 어떻게 코드가 연결되어 있는지 확인조차 하지 못하게 될 가능성이 존재한다. " 코딩보다 흐름을 이해하는 데 시간을 다 소비할 가능성이 크다 " 절차적, 구조적 프로그래밍 - 반복될 가능성이 있는 것들을 재상요이 가능한 함수로 만들어 사용하는 방법이다. - 절차는 함수를 뜻하고, 구조는 모듈을 뜻한다. 문제점: 너무 추상적이다. 함수는 논리적 단위로 표현되지만, 실제 데이터에 해당하는 변수나 상수 값들은 물리적 요소로 되어있기 때문이다. 즉 논리적, 물리적 단위를 함께 묶을 수 있는 방법이 필요하게 된다. 객체 지..