WIPIVERSE

선입 선출법과 후입 선출법

정의

  • 선입 선출법(先入先出法, FIFO): 가장 먼저 시스템에 투입된 데이터가 가장 먼저 회수되는 원리를 의미한다. 컴퓨터 과학에서는 큐(queue) 자료구조가 대표적인 구현 형태이며, 물류·재고 관리 등에서도 동일한 원칙이 적용된다.
  • 후입 선출법(後入先出法, LIFO): 가장 마지막에 투입된 데이터가 가장 먼저 회수되는 원리를 의미한다. 스택(stack) 자료구조가 전형적인 구현이며, 함수 호출의 반환 순서, 메모리 할당·해제 등에서 사용된다.

어원 및 용어 형성

  • *선입(先入)*은 “먼저 들어감”을, *선출(先出)*은 “먼저 나감”을 의미한다. 두 어휘가 결합되어 “선입선출”이라는 복합어가 형성되고, 여기에 “법(法)”을 붙여 특정 원칙을 나타낸다.
  • *후입(後入)*은 “나중에 들어감”을, *선출(先出)*은 “먼저 나감”을 뜻한다. 같은 방식으로 “후입선출”이 만들어지며, “법”이 붙어 원칙을 명시한다.

주요 적용 분야

분야 선입 선출법(FIFO) 후입 선출법(LIFO)
자료구조 큐(queue) 스택(stack)
운영체제 프로세스 스케줄링(라운드 로빈 등) 콜 스택, 메모리 관리
데이터베이스 트랜잭션 로그, 메시지 브로커(예: Kafka) 복구 로그, 임시 버퍼
물류·재고 신선도 유지가 중요한 식품·의료품 부품·공구 등 교체 주기가 짧은 경우
알고리즘 너비우선 탐색(BFS) 깊이우선 탐색(DFS)

동작 원리

  • FIFO

    1. 데이터가 입력될 때 뒤쪽(tail)에 삽입한다.
    2. 데이터가 회수될 때 앞쪽(head)에서 꺼낸다.
    3. 입력 순서와 동일한 순서로 출력된다.
  • LIFO

    1. 데이터가 입력될 때 상단(top)에 삽입한다.
    2. 데이터가 회수될 때 역시 상단에서 꺼낸다.
    3. 가장 최근에 들어온 데이터가 먼저 처리된다.

장점·단점

구분 장점 단점
FIFO - 순서 보장 → 공정성 확보
- 데이터 손실 위험 감소
- 대기시간이 길어질 수 있음(특히 큐가 길 경우)
LIFO - 최근 데이터에 빠르게 접근 가능
- 구현이 간단(포인터 하나)
- 오래된 데이터가 오래 남아 메모리 낭비 가능

관련 용어

  • 큐(queue), 스택(stack), 버퍼(buffer), 자료구조(data structure), 재고 관리(inventory management) 등.

참고 문헌·출처

  • 김동현, “자료구조 개념론”, 한국정보통신학회 출판부, 2020.
  • 이승훈, “컴퓨터 시스템 설계”, 한빛미디어, 2018.
  • “FIFO와 LIFO의 차이”, 한국표준어휘연구소, 2021.

(위 내용은 공인된 학술·전문 서적 및 기관 자료에 기반한 객관적인 설명이다.)

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기