절차지향,객체지향 프로그래밍

창진·2022년 10월 27일
0

자바

목록 보기
3/10

프로그래밍의 흐름 차이

프로그래밍 언어는 크게 절차지향 프로그래밍과 객체지향 프로그래밍 방식으로 구분합니다.

절차지향 프로그래밍

절차지향 객체지향은 컴파일 시 소스 코드를 어디서부터 읽느냐에 따라 나뉩니다 절차지향 프로그래밍은 소스코드를 위에서부터 차례대로 읽는 방법입니다. 소스코드를 순차적으로 실행하기 때문에 소스 코드의 순서가 굉장히 중요하며, 프로그램 전체가 유기적으로 연결되어 있습니다.
절차지향 프로그래밍은 컴퓨터의 처리 구조와 비슷합니다. 따라서 실행 속도가 빠르다는 장점이 있지만 단점도 있습니다

  1. 모든 구성 요소가 유기적으로 연결되어 있기 때문에 사소한 문제 하나만 생겨도 시스템 전체가 돌아가지 않습니다.
  2. 실행 순서가 정해져 있기 때문에 소스 코드의 순서가 바뀌면 결과가 달라질수 있습니다.

위에 이러한 단점을 보안하기 위해 생긴 개념이 바로 객체 지향입니다.

객체지향 프로그래밍

객체지향 프로그래밍이란 코드를 작성할 때 프로그램(구성 요소)를 객체라는 단위로 묶어서 이들의 조합으로 프로그램을 만드는 것입니다.
객체지향 프로그래밍에서는 각 객체의 역할이 나누어져 있고, 사용하고자 하는 부분에서 각각의 객체가 따로 작동합니다. 만약 하나의 객체가 고장이 나더라도 해당 객체만 수리하거나 교체하면 간단히 해결할 수 있습니다. 그렇기 때문에 프로그래밍은 유지 보수도 쉽고 생산성도 좋다는 장점이 있습니다.

그러나 객체지향 프로그래밍에도 단점이 있습니다
1.모든 객체의 역할과 기능을 이해해야 하기 때문에 설계에 많은 시간이 걸립니다.
2.처리속도가 절차지향보다 느립니다.
3.객체지향 언어는 대체로 난이도가 높은 편입니다.

객체지향의 반대는 절차지향이 아니다!!!

절차지향은 차례대로 실행하는 것에 초점을 두고 있고 객체지향은 관계나 조직에 초점을 두고 있습니다. 만드는 과정이 조금 다를 뿐 서로 대립하는 개념은 아닙니다. 많은 언어가 객체지향 프로그래밍과 함수형 프로그래밍 기능을 모두 제공하며, 한 프로그램에 두 방식을 모두 적용할 수 있습니다

함수형 프로그래밍

함수형 프로그래밍은 변수 사용을 최소화함으로써 소스 코드가 복잡해지는 것을 줄일 수 있습니다. 함수형 프로그래밍은 외부에 따로 상태 값을 두지 않고 내부에서 연쇄적으로 기능을 사용해 결과를 연산합니다. 이러한 특성 때문에 멀티 스레딩이 많이 이루어지는 환경에서 함수형 프로그래밍은 특히 유용하게 사용할 수 있습니다.

profile
안녕하세요

0개의 댓글