[CS] 프로그래밍 패러다임

YJ·2023년 5월 18일
0

1. 선언형과 함수형 프로그래밍

  • 선언형 : '무엇을' 풀어내는가에 집중하는 패러다임

  • 함수형 : 선언형 패러다임의 일종. 작은 '순수 함수'들을 쌓아 로직을 형성하고 '고차 함수'를 통해 재사용성을 높인 프로그래밍 패러다임

  • 고차 함수를 쓰기 위해서는 해당 언어가 '일급 객체'라는 특징을 가져야 함

    • 변수나 메서드에 함수를 할당할 수 있다.
    • 함수 안에 함수를 매개변수로 담을 수 있다.
    • 함수가 함수를 반환할 수 있다.

2. 객체지향 프로그래밍

  • 객체를 이용하여 데이터와 메서드를 묶고 이런 객체들간에 통신을 함으로써 프로그램이 동작한다.

  • 처리 속도가 다소 느리며 설계에 많은 시간이 필요하고 테스트가 어렵다.

  • 추상화, 캡슐화, 상속성, 다형성

  • 설계 원칙 : SOLID

    • 단일 책임 원칙
    • 개방-폐쇄 원칙
    • 리스코프 치환 원칙
    • 인터페이스 분리 원칙
    • 의존 역전 원칙

3. 절차형 프로그래밍

  • 일이 진행되는 순서대로 프로그래밍 하는 방법

  • 가독성이 좋으며, 실행 속도가 빠르다.

  • 각 코드가 순서에 민감하게 연결돼있어 모듈화가 어렵고 유지 보수성이 떨어진다.

4. 패러다임의 혼합

  • 굳이 나눌 필요 없이 상황과 맥락에 따라 패러다임 간의 장점만 취해 사용하면 된다.
profile
Hello

0개의 댓글