> 오늘의 암호화폐 뉴스
bitcoin
bitcoin

$102418.358867 USD

-1.97%

ethereum
ethereum

$3298.096549 USD

1.21%

xrp
xrp

$3.048127 USD

-1.30%

tether
tether

$0.999866 USD

-0.01%

solana
solana

$231.464380 USD

-2.61%

bnb
bnb

$675.655067 USD

-0.56%

usd-coin
usd-coin

$0.999928 USD

-0.01%

dogecoin
dogecoin

$0.327988 USD

-0.25%

cardano
cardano

$0.945324 USD

-1.12%

tron
tron

$0.256233 USD

0.65%

chainlink
chainlink

$25.471085 USD

1.61%

avalanche
avalanche

$34.603954 USD

-1.17%

stellar
stellar

$0.416369 USD

-2.01%

sui
sui

$4.058447 USD

-3.89%

toncoin
toncoin

$4.893106 USD

1.10%

절차적 프로그래밍

절차적 프로그래밍이란 무엇입니까?

절차적 프로그래밍은 일반적으로 개발자가 배우는 첫 번째 패러다임입니다. 기본적으로 절차 코드는 논리적 단계에서 작업을 수행하는 방법을 장치에 직접 알려주는 코드입니다. 프로시저 호출 개념에 기초하여, 절차적 프로그래밍은 프로그램을 루틴이나 함수라고도 하는 프로시저로 분리하며, 단순히 수행할 일련의 작업을 갖습니다. 이 패러다임은 선형 하향식 접근 방식을 취하고 데이터와 방법을 두 개의 독립적인 개체로 간주합니다.

절차적 프로그래밍의 특징

매개변수 전달(Parameter Passing) : 매개변수 전달은 매개변수를 함수, 서브루틴 또는 프로시저에 전달하는 데 사용되는 기술입니다. 매개변수 전달은 "값에 의한 전달", "참조에 의한 전달", "결과에 의한 전달", "값-결과에 의한 전달" 및 "이름에 의한 전달"로 수행될 수 있습니다.

지역 변수: 지역 변수는 메소드의 기본 구조에 정의되며 주어진 지역 범위로 제한됩니다. 정의된 메소드 내에서만 사용할 수 있으며, 정의된 메소드 외부에서 사용하게 되면 해당 코드는 작동을 멈춥니다.

사전 정의된 함수: 사전 정의된 함수는 이름으로 표시되는 명령어인 경우가 많습니다. 일반적으로 미리 정의된 함수는 고급 프로그래밍 언어에 내장되어 있지만 프로그램이 아닌 라이브러리나 레지스트리에서 가져옵니다.

미리 정의된 함수의 한 가지 예는 문자열에서 문자 위치를 찾는 'charAt()'입니다.

모듈성: 모듈성은 두 개의 서로 다른 시스템이 두 가지 서로 다른 목표를 가지고 있지만 더 큰 작업을 먼저 완료하기 위해 함께 모이는 경우입니다. 그러면 모든 시스템 세트는 모든 작업이 완료될 때까지 자체 작업을 하나씩 수행하게 됩니다.

전역 변수: 전역 변수는 코드에 지정된 다른 모든 함수 외부에서 선언되는 변수입니다. 이로 인해 전역 변수는 지역 변수와 달리 모든 기능에서 활용이 가능합니다.

객체 지향 프로그래밍(OOP)과 절차적 프로그래밍

객체 지향 프로그래밍(OOP)은 데이터(필드 또는 속성의 형태)와 코드를 "객체"(프로시저 또는 메소드의 형태)에 저장하는 프로그래밍 패러다임입니다.

객체 지향 프로그래밍은 객체 개념을 사용하여 실제 세계와 상호 작용하는 하향식 프로그래밍 방법입니다. C++, Python, Java 등 널리 사용되는 대부분의 프로그래밍 언어는 객체 지향 프로그래밍 패러다임을 비롯한 다양한 패러다임을 사용합니다.

절차적 프로그래밍은 주로 기능에 초점을 맞춘 반면 OOP는 주로 객체를 기반으로 한다는 점에서 객체지향 프로그래밍과 다릅니다. 다음은 두 프로그래밍 패러다임 사이의 몇 가지 주요 차이점입니다.

초점

알고리즘은 주로 데이터 저장, 조작 및 관리와 관련된 절차 지향 프로그래밍 패러다임(실행 가능한 컴퓨터 명령의 유한한 시퀀스)의 기초입니다.

작동 메커니즘

절차적 프로그래밍에서 기본 전략은 어려운 문제를 더 쉽게 이해하고, 처리하고, 관리할 수 있는 작은 부분으로 나누는 것입니다.

반면 객체 지향 프로그래밍(OOP)은 객체를 처리하는 기술이나 논리보다는 처리할 객체에 중점을 둡니다.

기원

절차지향 프로그래밍 패러다임은 명령형 프로그래밍 모델에서 개발된 반면, 선언적 프로그래밍 패러다임은 OOP 패러다임과 관련이 있습니다.

프로그램 부문

프로그램은 절차적 프로그래밍 패러다임에 따라 함수 또는 코드 블록으로 구성됩니다. 함수는 이 패러다임의 프로그래밍 단위입니다. 프로그램은 객체지향 프로그래밍 패러다임에 따라 클래스의 여러 객체로 구성되며 프로그래밍 단위는 클래스입니다.

메모리 요구 사항

객체 지향 프로그래밍의 데이터 지향 접근 방식에는 큰 메모리가 필요합니다.

반면에 절차 지향 프로그래밍 패러다임은 매우 작은 메모리로 작동합니다.

접근하다

절차 지향 언어는 문제 해결에 하향식 접근 방식을 사용하여 거대하고 복잡한 문제를 개별적으로 탐색할 수 있는 작은 섹션으로 나눕니다.

객체 지향 프로그래밍은 작은 덩어리를 모아 큰 객체를 만드는 상향식 전략을 사용합니다.

전자는 거대한 프로그램을 작은 조각으로 나누는 반면, 후자는 여러 개의 작은 프로그램에서 큰 프로그램을 조립합니다. 이런 방식으로 절차 지향 프로그래밍 접근 방식과 객체 지향 프로그래밍 접근 방식은 정반대입니다.

코드 디버깅 및 용도 변경

절차적 언어 디버깅은 복잡하지만 객체 지향 언어 디버깅은 간단하고 간단합니다. 또한, 절차지향 프로그래밍 패러다임과 비교하여 객체지향 프로그래밍은 코드 재사용이 상당히 간단합니다.

데이터 저장

객체 지향 프로그래밍 패러다임에서는 데이터와 관련 동작이 단일 위치에 저장되는 반면, 절차 지향 프로그래밍 패러다임에서는 여러 영역에 분리되어 저장됩니다.

병렬 프로그래밍은 절차 지향 프로그래밍 패러다임에서는 지원되지 않지만 객체 지향 프로그래밍 모델에서는 지원됩니다.

의사소통

절차 지향 프로그래밍 패러다임에서 코드는 프로그램의 기능을 호출하여 전달됩니다.

객체지향 프로그래밍에서 객체는 메시지를 전달하여 서로 통신합니다.

절차적 프로그래밍 언어의 예

Haskell, C, Pascal, Fortran 및 BASIC은 절차 지향 프로그래밍 패러다임을 가능하게 하는 일부 언어입니다.

C++, Python 및 Java는 OOP 패러다임을 지원하는 언어의 잘 알려진 예입니다.