본문으로 바로가기

절차적 프로그래밍

프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임

프로시저란 하위 프로그램, 메서드, 함수 등이 있는데 쉽게 프로그래머가 작성한 명령이라고 보면 될듯하다

프로그래머가 작성한 명령들을 위에서 아래로 순서대로 호출되고 반환되는 것이 절차적 프로그래밍이다

장점

  • 컴퓨터가 프로그램을 실행하는 것과 같은 순서이기 때문에 속도가 빠르다

단점

  • 코드의 순서를 지켜야하기 때문에 유지 보수가 어렵다

  • 프로그램의 가독성과 디버깅이 어렵고 이와 같은 이유 때문에 프로젝트가 클 수록 적합하지 않다

객체지향 프로그래밍

모든 데이터를 객체로 취급하고 객체간의 상호작용으로 설계하는 프로그래밍 패러다임

장점

  • 코드 재사용이 쉽다

  • 유지보수가 쉽다

단점

  • 속도가 상대적으로 느리다

  • 객체가 많아지면 용량이 커지게 된다

  • 설계가 복잡하다

SOLID 원칙

  1. 단일 책임의 원칙 (Single Responsiblity Principle)

모든 클래스는 각각 단 하나의 책임만을 가져야한다

자기가 맡은 기능 외에 다른 기능을 추가하거나 수정되어서는 안된다

  1. 개방-폐쇄 원칙 (Open Closed Principle)

확장에는 열려있고 수정에는 닫혀있어야 한다

기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다

  1. 리스코프 치환 원칙 (Liskov Substitution Principle)

자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있다는 원칙이다

부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 작동해야 한다

  1. 인터페이스 분리 원칙 (Interface Segregation Principle)

한 클래스는 자신이 사용하지않는 인터페이스는 구현하지 말아야 한다

하나의 일반적인 인터페이스보다 여러개의 구체적인 인터페이스가 낫다

  1. 의존 역전 원칙 (Dependency Inversion Principle)

구체적인 클래스보다 인터페이스나 추상 클래스와 관계를 맺으라는 것

'Computer Science' 카테고리의 다른 글

OSI 7 계층  (0) 2021.06.27
프로세스, 스레드  (0) 2021.06.21
함수형 프로그래밍  (0) 2021.06.17
컴퓨터의 구성  (0) 2021.06.12
명령형 프로그래밍 vs 선언형 프로그래밍  (0) 2021.06.09