열심히 살아나갈 사람
객체지향형 프로그래밍
CS/Programing Paradigms 2023. 12. 11. 17:20

객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 프로그램을 객체들의 모임으로 보고, 이들 간의 상호작용으로 프로그램을 구현하는 방법론입니다. 객체는 데이터와 그 데이터를 처리하는 함수(메서드)를 하나의 묶음으로 취급합니다. 이런 객체들이 서로 상호작용하며 프로그램이 동작합니다. 객체지향 프로그래밍의 주요 특징 추상화(Abstraction) 추상화는 복잡한 시스템을 단순한 개념으로 변환하는 메커니즘입니다. 이를 통해 프로그램의 복잡성을 관리하며, 필요한 특성만을 고려하고 불필요한 세부 정보는 무시할 수 있습니다. 객체지향 프로그래밍에도 단점이 있습니다. 예를 들어, 설계 단계에서 많은 시간과 노력이 필요하며, 객체 간의 관계가 복잡해질수록 ..

명령형 프로그래밍
CS/Programing Paradigms 2023. 12. 11. 16:39

명령형 프로그래밍은 프로그래밍 패러다임 중 하나로, 컴퓨터에게 수행할 명령을 순차적으로 전달하는 방식을 사용합니다. 이 패러다임은 프로그램이 상태의 변화를 통해 계산을 수행함을 가정하며, 대부분의 일반적인 프로그래밍 언어가 이 패러다임을 따릅니다. 명령형 프로그래밍의 주요 특징과 장점 명령문(Statements): 명령형 프로그래밍에서는 변수 할당, 제어 흐름(if, for, while 등), 서브루틴 호출 등의 명령문을 사용하여 프로그램을 구성합니다. 상태 변화(State Changes): 명령형 프로그래밍에서는 프로그램의 상태를 변경하는 것이 중요합니다. 예를 들어, 변수에 값을 할당하거나 데이터 구조를 수정하는 것이 이에 해당합니다. 직관적인 접근 방식: 명령형 프로그래밍은 컴퓨터가 내부적으로 작동..

함수형 프로그래밍
CS/Programing Paradigms 2023. 12. 11. 16:17

함수형 프로그래밍은 프로그래밍 패러다임 중 하나로, 계산을 수학적 함수의 계산으로 보고, 상태와 변경 가능한 데이터를 피하는 방법론입니다. 이 패러다임은 부작용(side effects)을 최소화하려는 목표를 가지고 있습니다. 함수형 프로그래밍의 주요 특징과 장점 불변성(Immutability): 함수형 프로그래밍에서는 데이터의 상태가 변하지 않습니다. 즉, 한 번 생성된 데이터는 변하지 않으며, 필요한 경우 새로운 데이터를 생성합니다. 순수 함수(Pure Functions): 순수 함수는 같은 입력에 대해 항상 같은 출력을 반환하며, 외부 상태에 영향을 미치지 않습니다. 이는 테스트와 디버깅을 용이하게 합니다. 고차 함수(Higher-Order Functions): 함수형 프로그래밍에서는 함수를 다른 함..

선언형 프로그래밍
CS/Programing Paradigms 2023. 12. 11. 14:40

선언형 프로그래밍은 프로그래밍의 한 패러다임으로, 프로그램의 구조와 동작을 묘사하는 방식입니다. 이 패러다임은 애플리케이션의 상태 변화를 기술하는 대신, 애플리케이션의 로직을 표현합니다. 즉, '어떻게'가 아닌 '무엇을' 하고 싶은지를 선언하는 방식입니다. 선언형 프로그래밍의 장점 간결성: 선언형 프로그래밍은 애플리케이션의 상태 변화를 기술하는 대신, 애플리케이션의 로직을 표현함으로써 코드의 양을 줄일 수 있습니다. 이로 인해 코드의 가독성이 향상됩니다. 추상화 수준: 선언형 프로그래밍은 프로그래머가 문제를 해결하는 방법에 대해 생각하는 대신, 문제 자체에 집중할 수 있도록 해줍니다. 이는 프로그램의 추상화 수준을 높여, 복잡한 문제를 더 쉽게 풀 수 있게 해줍니다. 재사용성: 선언형 프로그래밍에서는 코..

article thumbnail
프로그래밍 패러다임
CS/Programing Paradigms 2023. 12. 11. 14:28

프로그래밍 패러다임 개요 프로그래밍 패러다임은 프로그래밍의 방법론적 접근법을 의미합니다. 다양한 패러다임이 있으며, 각 패러다임은 문제 해결 방식에 대한 고유한 관점을 제공합니다. 선언형 프로그래밍 이 패러다임은 '어떻게'가 아닌 '무엇을'하고 싶은지를 표현하는 방식입니다. 프로그래머는 결과를 얻기 위한 과정보다 원하는 결과를 선언하는데 집중합니다. SQL과 HTML이 대표적인 선언형 언어입니다. 함수형 프로그래밍 이 패러다임은 계산을 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 피하는 방식입니다. 함수형 언어는 높은 수준의 추상화를 제공하며, 이는 코드의 간결성과 함께 병렬 컴퓨팅과 같은 복잡한 문제를 쉽게 해결할 수 있도록 합니다. 대표적으로 Haskell, Erlang, Clojure 등이..