본문 바로가기
Programming/기술 면접

[개발자 기술 면접 대비] 📚 선형 구조 자료형에서의 가산성과 동차성

by Mandy's 2025. 7. 25.

선형 구조 자료형(Linear Data Structures)에서는 데이터가 나열된 순서추가/삭제 방식에 따라 성질이 달라집니다.
이때 중요한 개념이 바로 가산성(Accretion)동차성(Order Sensitivity)입니다.


1️⃣ 가산성 (Accretion / Aggregation)

✔️ 정의

각 요소를 독립적으로 추가하거나 삭제할 수 있는 성질

즉, 하나의 원소를 추가하거나 제거해도 다른 원소에 영향을 주지 않는 구조를 의미합니다.
구성 요소들이 자유롭게 존재할 수 있는 구조라고 볼 수 있어요.

🧪 예시

  • 리스트 (List)
    • 중간에 데이터를 자유롭게 삽입하거나 삭제 가능
  • 큐 (Queue)
    • 앞뒤 요소가 서로 독립적으로 존재하며 삽입/삭제됨

2️⃣ 동차성 (Order Sensitivity / Homogeneity)

✔️ 정의

자료구조 내 요소의 순서가 중요한 성질

즉, 같은 데이터를 갖고 있어도 저장된 순서가 다르면 서로 다른 구조로 취급합니다.

🧪 예시

  • 스택 (Stack)
    • LIFO 구조 → 마지막에 들어간 데이터가 먼저 나옴
  • 큐 (Queue)
    • FIFO 구조 → 먼저 들어간 데이터가 먼저 나옴

🧠 예: [1, 2, 3]과 [3, 2, 1]은 동차성을 갖는 구조에서는 다르게 처리됩니다.


📌 예시 비교표

자료구조 가산성 동차성 설명

List 자유로운 삽입/삭제 가능 + 순서 중요
Stack 삽입/삭제 위치가 제한됨 + 순서 중요
Queue 선입선출 구조 + 순서 중요
Set 중복 제거, 순서 없음
Map 키로 데이터 식별, 순서 없음 (OrderedMap 제외)

🎯 면접 답변 예시

“가산성은 각 요소를 독립적으로 추가/삭제할 수 있는 성질이고, 동차성은 요소 간의 순서가 중요한 성질입니다. 예를 들어 리스트는 가산성과 동차성을 모두 가지며, 스택과 큐는 순서에 민감한 구조로 동차성은 있지만 가산성은 없습니다.”