절차형 프로그래밍(Procedural Programming)
·
Computer Science/Programming Paradigm
1. 절차형 프로그래밍(Procedural Programming)- "순서대로 차례차례 처리해 나가는 방식"의 프로그래밍- 즉, 문제를 위에서 아래로 처리하는 명령어들의 모음2. 절차형 프로그래밍의 특징1. 순차적 실행위에서 아래로 코드가 실행됨2. 함수 사용 가능기능을 나눠서 함수로 만들지만 데이터는 공유됨 > 전역 변수 등 사용3. 객체나 클래스가 없음객체지향이 아니라, 변수 + 함수 중심으로 동작3. 절차형 프로그래밍의 장단점장점1. 단순하고 직관적: 순서대로 진행되니까 이해하기가 쉽고, 디버깅도 쉽다2. 성능 good: 불필요한 구조가 없어서 속도가 빠르다3. 작은 프로그램에 적합: 프로그램이 작고 간단할 때 가장 효율적인 방식이다 단점1. 유지보수가 어렵다: 규모가 커질수록 코드가 길어지고 복잡..
객체지향 프로그래밍(OOP, Object-Oriented Programming)
·
Computer Science/Programming Paradigm
1. 객체지향 프로그래밍(OOP, Object-Oriented Programming)- 현실 세계를 모델링 > 객체(Object)라는 단위로 프로그램을 구성하는 방식- 객체들의 집합으로 프로그램의 상호작용을 표현 > 데이터를 객체로 취급 > 객체 내부에 선언된 메서드를 활용하는 방식- 즉, 현실 세계처럼 객체 단위로 데이터와 동작을 묶어서, 확장성과 유지보수가 좋은 소프트웨어를 만들기 위한 프로그래밍 방식2. 객체 ?> 현실 세계에는 사람, 자동자, 강아지 처럼 구체적인 존재( =객체)가 있고, 각각 속성( =데이터)과 행동( =기능)을 가진다> ex) 강아지 객체속성: 이름, 나이, 품종행동: 짖는다, 먹는다, 뛴다3. 객체지향 프로그래밍의 특징1. 캡슐화(Encapsulation)> 데이터와 메서드를..
선언형과 함수형 프로그래밍(Declarative, Functional Programming)
·
Computer Science/Programming Paradigm
1. 프로그래밍 패러다임(Programming Paradigm)- 프로그래밍을 어떻게 바라보고, 어떤 방식으로 문제를 해결할지를 정하는 사고방식- 즉, 프로그래밍을 하는 스타일이나 철학2. 선언형 프로그래밍(Declarative Programming)- '무엇을' 풀어내는가에 집중하는 패러다임 > '무엇을' 할 것인지만 선언하고, 어떻게 할지는 신경 X- "프로그램은 함수로 이루어진 것" 이라는 명제가 담겨 있는 패러다임- ex) SQL, HTML, React 등3. 선언형 프로그래밍의 장단점*병렬 처리: 여러 작업을 동시에 처리하는 것즉, 100개의 데이터를 처리해야 할 때, 1개씩 순서대로 처리하는대신 여러 개를 나눠서 동시에 처리하는 것장점1. 가독성 향상: 코드가 간결하고 의도를 명확히 표현2. ..