240. 통신 다이어그램 (Communication Diagram / Collaboration Diagram) - UML 동적 다이어그램 객체 상호작용 메시지 순서 객체 간 관계 네트워크 토폴로지

핵심 인사이트: (235번 시퀀스 다이어그램의 쌍둥이 동생) 235번 시퀀스 다이어그램으로 위에서 아래로 흘러가는 '시간 순서' 통신을 기가 막히게 그렸다. 근데 사장님이 도면을 보더니 짜증을 낸다. "야! 시간이 위에서 아래로 흐르는 건 잘 보이는데, 도대체 객체들이 서로 '어떻게 거미줄처럼 엮여 있는지(관계 뼈대)'는 한눈에 안 들어오잖아! 시퀀스 도면의 세로줄(생명선) 다 찢어버려! 그리고 객체들을 화면 전체에 동그랗게(네트워크 토폴로지 모양으로) 빙 둘러서 배치해! 객체들 사이에 굵은 실선(관계)을 찍찍 긋고, 그 선 위에다가 '1번: 로그인해라', '2번: 돈 빼라' 하고 메시지 화살표랑 순서 번호표를 딱딱 붙여놔!! 그럼 시간 순서(번호)도 보이고, 객체들끼리 누가 누구랑 친한지 구조(뼈대)도 한 방에 보이잖아!!" 시간의 흐름(번호)과 뼈대 구조(네트워크)를 한 장의 그림에 융합시킨 하이브리드 영화, 통신 다이어그램이다.

Ⅰ. 시퀀스 다이어그램(235번)의 시각적 한계

  • 시퀀스 다이어그램은 위쪽에 객체를 나란히 세우고, 아래(Y축)로 떨어지는 '시간의 흐름'에만 미친 듯이 집착합니다.
  • 단점: A가 B, C, D와 핑퐁을 치면, 객체들이 물리적으로 어떻게 얽혀있는지 전체적인 네트워크 구조(조직도)를 한눈에 파악하기가 매우 껄끄럽습니다.

Ⅱ. 통신 다이어그램 (Communication Diagram)의 개념 🌟

  • 과거 UML 1.x 시절에는 **콜라보레이션 다이어그램(Collaboration Diagram, 협력 다이어그램)**이라고 불렀으며, 이름이 바뀐 똑같은 놈입니다. (시험에 옛날 이름으로 섞여 나올 때가 많으니 꼭 같이 외워야 합니다.)
  • 개념: 객체들이 메시지를 주고받는 상호작용(동적)을 표현하되, 시간의 흐름(생명선)을 버리고 객체들 간의 물리적인 '연결 관계(네트워크 구조)'를 중심으로 공간에 배치한 뒤, 메시지의 발생 순서는 1, 2, 3 같은 '숫자 번호표(Sequence Number)'를 붙여서 표현하는 동적 다이어그램입니다.

Ⅲ. 통신 다이어그램의 3대 구성 요소 🌟 기출 🌟

시퀀스 다이어그램과 본질적인 재료는 똑같지만 배치하는 맛이 다릅니다.

1. 객체 (Object) - "자유로운 영혼들"

  • 시퀀스처럼 맨 위에 일렬로 세우지 않습니다. 도화지 전체에 거미줄 치듯이 내 맘대로 동그랗게 흩뿌려서 배치합니다. [회원], [장바구니], [DB]
  • 시퀀스 다이어그램에는 없는 통신 다이어그램만의 핵심 특징입니다.
  • 메시지를 주고받으려면 두 객체가 물리적/논리적으로 연결되어 있어야 합니다. 객체와 객체 사이를 잇는 **굵은 실선(Link)**을 쫙쫙 긋습니다. 이 선들을 다 그어놓고 보면 마치 컴퓨터 네트워크 토폴로지(별 모양, 망 모양)처럼 객체 조직도가 한눈에 들어옵니다.

3. 메시지 (Message)와 순서 번호 (Sequence Number) 🌟

  • 메시지 화살표: 객체들을 이어놓은 실선(Link) 위에다가, 살포시 얹히는 작은 화살표를 그립니다.
  • 순서 번호표: 생명선(Y축)이 없으니 뭐가 먼저 실행되는지 모릅니다. 그래서 화살표 위에 무조건 1: 로그인 요청(), 2: DB 조회(), 2.1: 비밀번호 검사() 처럼 점(.)을 찍어 계층화된 '실행 순서 번호표'를 대문짝만하게 박아줍니다. (번호 순서대로 읽으면 시퀀스 다이어그램과 100% 동일한 스토리가 전개됩니다.)

Ⅳ. 시퀀스 vs 통신 (영원한 라이벌 비교) 🌟 절대 암기 🌟

정보처리기사 객관식에 무조건 나오는 1:1 비교입니다.

  • 시퀀스 다이어그램: **'시간의 흐름(Time)'**에 미치도록 집중. (생명선 Y축 존재)
  • 통신 다이어그램: **'객체들 간의 구조적인 관계(구조)'**에 미치도록 집중. 시간은 '순서 번호표'로 퉁침.
  • 둘은 서로 변환(Convert) 버튼만 누르면 1초 만에 상대방의 도면으로 상호 변환이 가능한 완벽한 쌍둥이(동치) 관계입니다.

📢 섹션 요약 비유: 통신(커뮤니케이션) 다이어그램은 범죄 수사 드라마에서 형사가 벽에 붙여놓는 **'범인들 간의 거미줄 관계도 보드판'**입니다. 235번 시퀀스 다이어그램이 범행 당일의 CCTV 동영상(시간순)을 틀어놓고 보는 것이라면, 통신 다이어그램은 CCTV를 끄고 벽면 보드판을 봅니다. 보드판 한가운데 '두목' 사진을 붙이고, 주변에 '행동대장', '자금책' 사진(객체)을 둥글게 붙입니다. 그리고 빨간 실선(Link)으로 놈들끼리 어떻게 엮여있는지 거미줄을 쫙쫙 칩니다(객체 간의 구조적 관계 강조). 여기까지는 정지된 조직도 같지만, 여기에 4차원 마법(동적)을 섞습니다. 빨간 실선 위에 화살표와 번호표 포스트잇을 붙입니다. '1번: 두목 ➜ 행동대장 (암살 지시)', '2번: 행동대장 ➜ 자금책 (돈 내놔)'. 형사는 보드판(관계도)의 뼈대를 한눈에 쫙 보면서도, 포스트잇에 적힌 번호표 순서(1번, 2번...)를 따라 읽어가며 놈들이 범행 당일 시간 순서대로 어떤 연락(메시지)을 주고받았는지 CCTV를 보는 것처럼 범행 시나리오를 머릿속에서 완벽하게 재생(동적 상호작용)해 낼 수 있는 1타 2피의 하이브리드 수사 보드판입니다.