[LG CNS AM INSPRIRE CAMP 1기]순차지향, 절차지향, 객체지향: 프로그래밍 패러다임 완벽 이해하기

2025. 1. 10. 14:10·LG CNS AM CAMP 1기
🔑어제의 나보다 더 나은 오늘의 나를 위해

💡 순차지향


📃 순차지향 프로그래밍은 말 그대로 프로그래밍이 순차적으로 진행되는 방식을 의미합니다. 과거 개발자들은 주로 어셈블리어(Assembly Language)라는 저수준 언어(Low-Level Language)를 사용하여 프로그램을 작성했습니다. 어셈블리어는 메모리의 세부적인 부분까지 하나하나 직접 정의하고 관리해야 했습니다. 이러한 방식이 순차지향 프로그래밍의 대표적인 예입니다

💻CODE

section .data
    message db "Hello, World!", 0

section .text
    global _start

_start:
    mov rax, 1           ; 시스템 호출 번호 (write)
    mov rdi, 1           ; 파일 디스크립터 (stdout)
    mov rsi, message     ; 출력할 메시지의 메모리 주소
    mov rdx, 13          ; 메시지 길이
    syscall              ; 시스템 호출 실행

    mov rax, 60          ; 시스템 호출 번호 (exit)
    xor rdi, rdi         ; 반환 값 0
    syscall              ; 프로그램 종료

⬆️ 위 코드에서 사용된 명령어들은 모두 프로세서의 레지스터와 메모리 공간을 직접 관리하며, 작업이 순차적으로 진행됩니다

 

💡 절차지향


📃 절차지향은 얼핏보면 순차지향하고 다른게 뭐지? 라고 생각할 수 있습니다, 절차지향은 프로그램을 함수(절차) 단위로 나누어 작성하는 프로그래밍 패러다임입니다. 프로그램은 순차적으로 실행되며, 여러 단계(절차)를 수행하는 방식으로 구조화됩니다. 결국 절차지향도 순차적으로 진행되지만, 함수라는 구조화 하는 과정이 추가되었다고 생각할 수 있습니다

💻CODE

#include <stdio.h>

int add(int a, int b) {
    return a + b;  // 함수 단위로 동작
}

int main() {
    int result = add(5, 10);  // 함수 호출
    printf("Result: %d\n", result);
    return 0;
}

⬆️ 절차지향도 순차적으로 진행되지만, 함수 단위로 나누어 관리와 재사용성이 용이하다는 점에서 차이가 있습니다

 

💡 객체지향


📃 마지막으로 우리가 잘 알고 있는 객체지향입니다. 여러분은 객체지향을 어느정도로 이해하고 계신가요? 세상의 추상적인 요소들을 객체 단위로 묶어서 프로그래밍한다 정도로 알고 계시지는 않나요? 위에 설명도 틀린 설명은 아니지만, 객체가 책임과 역할을 가지고 상호작용한다는 점이 객체지향의 본질이라고 말할 수 있습니다

💻CODE

class Position {
    private int x, y;

    public Position(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public void move() {
        this.x += 1;
        this.y += 1;
    }

    public void display() {
        System.out.println("Position: (" + x + ", " + y + ")");
    }
}

public class Main {
    public static void main(String[] args) {
        Position pos = new Position(0, 0); // 객체 생성
        pos.move();  // 객체의 책임
        pos.display();
    }
}

⬆️ 객체(Position)가 자신의 데이터를 관리하며, 책임(move와 display)을 가집니다

 

 

 

📝 SUMMARY


📌 순차 지향은 말 그대로 순차적으로 진행되는 프로그래밍 방식 ex) 어셈블리어

📌 절차 지향에서 절차는 함수를 뜻하며 함수 단위로 구조화 되서 순차적으로 진행되는 프로그래밍 방식 ex) c 언어

📌 객체 지향은 추상적인 요소들을 책임과 역할이 부여된 객체단위로 묶어서 프로그래밍하는 방식 ex) java, python

저작자표시 비영리 변경금지 (새창열림)
'LG CNS AM CAMP 1기' 카테고리의 다른 글
  • [LG CNS AM INSPIRE CAMP 1기] AMaze 영상 메모 웹앱 구현 - VERSION 2
  • [LG CNS AM INSPRIRE CAMP 1기] 최상위 객체 Object & final & abstract & interface 정리하기
  • [LG CNS AM INSPIRE CAMP 1기] AMaze 간단한 지식 공유 웹 애플리케이션 구현 - 프론트엔드를 마치며
  • [LG CNS AM INSPIRE CAMP 1기] React의 주요 Hook들의 이해와 활용 useState, useReducer, useMemo, useCallback, useContext
Jelong
Jelong
커스텀 웹: https://jaehong-park.com Github: https://github.com/qkrwoghd04
  • Jelong
    24/7 Developer's Note
    Jelong
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Software Engineering
      • Ubuntu
      • Network
      • JavaScript
      • Web
      • Interaction Design
      • React Native
      • React
      • Algorithm
      • Java
      • Database design
      • IT Trend
      • TroubleShooting
      • AWS
      • Interview
      • LG CNS AM CAMP 1기
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    prototyping
    자바스크립트
    ChatGPT
    expo
    알고리즘 분석
    미니넷
    java
    BST
    typescript
    html
    알고리즘
    JS
    javascript
    frontend
    자바
    generic
    React
    이진트리
    GPT-4
    Queues
    css
    티스토리챌린지
    소프트웨어 공학
    AWS
    heap
    데이터 구조
    블랙 박스 테스트
    mininet
    화이트 박스 테스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Jelong
[LG CNS AM INSPRIRE CAMP 1기]순차지향, 절차지향, 객체지향: 프로그래밍 패러다임 완벽 이해하기
상단으로

티스토리툴바