하나의 모델이 되는 청사진을 만들고, 그 청사진을 바탕으로 한 객체(인스턴스)를 만드는 프로그래밍 패턴
자바스크립트는 객체 지향 언어가 아니다.
그러나 객체 지향으로 코딩할 수 있다.
ES6 class 문법이 생겼기 때문이다.
하나의 작업이 끝날 때까지, 이어지는 작업을 '막는 것'
시작 시점과 완료 시점이 같은 상황
예 1.백그라운드 실행, 로딩 창 등의 작업
예 2. 인터넷에서 서버로 요청을 보내고, 응답을 기다리는 작업
예 3. 큰 용량의 파일을 로딩하는 작업
인스턴스가 만들어질 때(초기화될 때) 실행되는 코드
리턴값을 갖지 않음
고차함수 === 콜백함수 && 커리함수