🧑🏼🚒절차 지향 VS 객체 지향 / Procedural Programming vs OOP( Object Oriented Programming)👮🏻♂️
2020. 9. 9. 14:59ㆍ기초 Java Script
절차지향? 객체지향?
절차 지향 은 프로그래밍을 하면서 1을 처리한 다음 2를 처리하고, 그다음 3을 처리하는 방식으로 순서에 맞춰서 하나씩 처리하는 과정을 뜻합니다. 빵 만들기 코드로 예시를 든다면, 절차 지향에서는 빵의 속성을 담은 데이터가 필요하니 데이터를 만들고, 빵 만들기 동작의 함수가 필요하니 함수를 선언에서 실행을 해야 할 것입니다.
function 빵만들기(){
let ingredient = 'flour';
// 절차 1. 밀가루를 준비해볼까요?
function bake(el){
el + ' bake';
return el
}
//절차 2. 재료를 받으면 구워버립시다!
let progress = bake(ingredient);
//절차 3. 밀가루를 구워볼까요?
if(progress === 'flour bake'){
return 'bread'
//절차 4. 잘 구워졌다면 빵 완성!
}
}
이렇게 절차 지향 프로그래밍은 프로그램 안에 함수와 변수가 하나의 덩어리로 있는 상태에서 절차에 따라서 하나씩 실행하게 됩니다. 하지만 빵 만들기를 방법도 바꾸면서 여러번 하고 싶다면 어떻게 하는 것이 좋을까요?
객체 지향 은 프로그래밍에 필요한 것들을 객체에 담아서 실행하는 방식입니다. 건축물의 청사진과 같이 객체에 필요한 것을 담아서 실행하기 때문에 변형과 재사용이 편리합니다.
[이미지가 들어갈 자리]
위 이미지를 보면 c
class 빵만들자{
constructor(value) {
this.ingredient = value;
this.bread = null;
}
bake(){
this.bread = this.ingredient + ' bake';
if(this.bread === 'flour bake'){
this.bread = 'bread';
return this.bread
}
}
// class 만들기
dobbyKitchen = new 빵만들자('flour');
dobbyKitchen.bake(); ----> 'bread'
Class를 만든다면 위와 같이 절차 지향에서 했던 과정을 단순히 새 class를 만들고 메소드를 실행함으로써 같은 결과 값을 만들 수 있습니다.
'기초 Java Script' 카테고리의 다른 글
다시 보는 call, apply, bind 차이 (1) | 2021.01.07 |
---|---|
🎯Asynchronous & Promise 비동기적 사고!🎱 (0) | 2020.09.21 |
🤔 Instantiation Patterns / 그대 class가 없던 시절을 기억하는가?🙁 (0) | 2020.09.10 |
함수(Function)에 대해서 알아보자!💻📦 (1) | 2020.08.06 |
변수(Variable)는 무엇인가? 💻🤷🏿♂️ [Java Script] (1) | 2020.08.05 |