📜 절차지향 프로그래밍: 순서대로 차근차근
·
Computer Science/Programming Paradigm
절차지향 프로그래밍(Procedural Programming)은 일이 처리되는 논리적인 순서에 따라 코드를 작성하는 패러다임입니다. 물이 위에서 아래로 흐르듯, 프로그램이 정해진 순서대로 한 단계씩 계산 과정을 수행하죠.코드가 실행되는 방식 그대로를 코드로 구현하기 때문에 가독성이 높고 실행 속도가 빠르다는 장점이 있습니다. 이 때문에 복잡한 계산이 많은 작업에 효과적입니다.반면에, 모든 것이 유기적으로 연결되어 있어 기능을 별도의 모듈로 나누기 어렵고, 이로 인해 유지보수성이 떨어진다는 단점이 있습니다.const list = [1, 2, 3, 4, 5, 11, 12];let max = 0; // 최댓값을 저장할 변수를 선언// 배열의 첫 요소부터 마지막까지 순서대로 반복for (let i = 0; i ..
🧱 객체지향 프로그래밍 (OOP): 현실 세계를 코드로 옮기기
·
Computer Science/Programming Paradigm
객체지향 프로그래밍(OOP, Object-Oriented Programming)은 우리가 사는 세상을 바라보듯, 프로그램을 독립적인 '객체'들의 모임으로 보고 이들의 상호작용으로 시스템을 표현하는 패러다임입니다. 데이터를 별개의 것으로 취급하는 대신, 데이터와 그 데이터를 처리하는 메서드(Method)를 하나의 객체로 묶어 관리하죠.OOP는 잘 설계하면 코드의 재사용성과 유지보수성을 크게 높일 수 있지만, 초기 설계에 많은 시간이 소요되고 다른 패러다임보다 상대적으로 속도가 느릴 수 있다는 특징이 있습니다.// 최댓값을 찾는 로직 (OOP 스타일)const initialList = [1, 2, 3, 4, 5, 11, 12];class List { constructor(list) { this.lis..
🧠 선언형 프로그래밍: "무엇을" 할 것인가?
·
Computer Science/Programming Paradigm
선언형 프로그래밍은 '어떻게(How)'가 아닌 '무엇을(What)'에 집중하는 개발 방식입니다. 우리가 원하는 결과물을 선언하면, 그 과정은 컴퓨터에 맡기는 것이죠.이러한 선언형 패러다임의 핵심에는 "프로그램은 함수로 이루어진 것이다"라는 명제를 담고 있는 함수형 프로그래밍이 있습니다.🧩 함수형 프로그래밍 (Functional Programming)함수형 프로그래밍은 '순수 함수'들을 블록처럼 쌓아 로직을 만들고, '고차 함수'를 통해 재사용성을 높이는 프로그래밍 패러다임입니다.// 최댓값을 찾는 로직const list = [1, 2, 3, 4, 5, 11, 12];const ret = list.reduce((max, num) => (num > max ? num : max), 0);console.log..
💻 프로그래밍 패러다임: 코드를 바라보는 다양한 관점
·
Computer Science/Programming Paradigm
개발을 시작할 때 우리는 수많은 '관점'과 마주하게 됩니다. 이 관점, 즉 프로그래밍 패러다임은 프로그램을 어떻게 구성하고 문제를 어떻게 해결할지에 대한 생각의 틀, 즉 개발 방법론입니다.어떤 패러다임을 사용하느냐에 따라 코드의 모양과 구조가 완전히 달라지죠. 예를 들어, 객체지향 프로그래밍은 프로그램을 상호작용하는 '객체'들의 집합으로 보는 반면, 함수형 프로그래밍은 프로그램을 '함수'들의 연속적인 호출로 봅니다.프로그래밍 패러다임은 크게 선언형과 명령형이라는 두 가지 접근 방식으로 나눌 수 있습니다. 🌐 현대 프로그래밍과 멀티-패러다임과거에는 하나의 언어가 하나의 패러다임을 강하게 지지했지만, 현대의 많은 언어는 멀티-패러다임을 지원합니다. 파이썬, 자바스크립트, C++ 등은 개발자가 상황에 맞게 ..