IT_susu
절차지향 vs 객체지향 vs 함수형(지향) 프로그래밍 본문
1. 절차지향 프로그래밍
일이 진행되는 순서대로 프로그래밍을 하는 방법이다.
장점 : 코드를 따라가며 읽기가 쉬우며 작성하기에도 쉬운 편이다. 컴퓨터의 처리구조와 비슷해 실행 속도가 빠르다.
단점 : 각각의 코드가 순서에 민감하게 연결되어있어 유지보수가 쉽지 않다. 프로그램을 분석하기가 어렵다.
2. 객체지향 프로그래밍
객체를 먼저 작성하고 함수를 작성하는 형태이다. : 객체간의 상호작용이다.
데이터(객체)를 먼저 디자인하고 데이터에 맞는 메소드를 구현하는 방식이다. : 상태를 바꾼다. 조작한다. 데이터형에 메서드가 종속된다.
비순수 함수들을 순수객체로 묶는다.
장점 : "(주어)는 (동사)다." 처럼 사람이 생각하는 방식과 닮아있다. 즉, (객체)는 (메소드)다.
코드의 재사용이 가능하다. 분석과 설계의 전환이 쉽다.
단점 : 처리 속도가 상대적으로 다소 느리다. 설계의 많은 시간이 소요되며 설계를 잘못하면 다시 처음부터 짜야한다. 테스트가 어렵다.
3. 함수형 프로그래밍
함수를 먼저 작성하는 형태다.
함수를 먼저 만들고 함수에 맞는 데이터를 세팅하는 방식이다. : 상태가 없다.
장점 : 사이드이펙트를 미연에 방지한다. 객체지향보다 코드가 간결하다.
비절차형이라 평가 시점이 중요하지 않다. 테스트가 쉽다.(1회만으로 신뢰성 보장) 데이터형에 구애받지 않는다.
단점 : 상태를 조작할 수 없다.
'computer science' 카테고리의 다른 글
MVC 패턴 (0) | 2018.10.21 |
---|---|
순수함수란? (0) | 2018.10.19 |
객체지향 프로그래밍(OOP)이란? (0) | 2018.10.19 |
웹사이트 최적화 : 최소화(minification) (0) | 2018.06.11 |
시멘틱 웹이란? (0) | 2018.06.11 |
Comments