seegongsik
내 단어장
프로그래밍

이름표로 찾는 상자, 키와 값

배열은 자리 번호로 꺼냈어요(8강). 그런데 번호 말고 '이름'으로 찾고 싶을 때가 있죠. 친구 전화번호 찾을 때 '47번째 사람'이 아니라 '민수'로 찾잖아요. 이름표로 바로 꺼내는 방법, 지금 봐요.

01

번호 말고 이름표

8강의 배열은 줄 세운 상자였어요.
1번, 2번, 3번... 자리 번호로 꺼냈죠.
그런데 사전에서 단어를 찾을 땐
'325번째 단어'를 안 떠올려요.
그냥 '사과'를 펼치면 뜻이 나오죠.
키와 값은 이렇게 이름표로 찾아요.

이름을 골라요

이름을 골라 보세요. 자리 번호를 몰라도 바로 그 값이 나와요.

번호를 셀 필요가 없어요.
이름만 알면 곧장 그 값에 닿아요.
그럼 이 '이름표와 내용물'은
정확히 어떻게 짝지어질까요?

02

짝지어요: 키와 값

하나의 칸은 늘 둘이 한 짝이에요.
이름표(키)와 그 안의 내용물(값).
'사과'(키) → 'apple'(값),
'민수'(키) → '010-1234'(값) 처럼요.
키를 부르면 짝지어진 값이 따라 나와요.

키를 값에 연결해 보세요. 둘이 묶이면 '키 → 값' 한 짝이 돼요.

키는 '어디서 찾을지' 알려 주는 이름이고,
값은 '진짜 담긴 것'이에요.
이 짝들을 잔뜩 모아 둔 게 사전이고요.
그런데 짝이 많아지면, 원하는 걸 어떻게 빨리 찾죠?

03

줄 서서 찾지 않아요

값이 천 개 있어도,
키와 값은 처음부터 하나씩 훑지 않아요.
이름표를 보고 곧장 그 칸으로 가요.
배열에서 자리를 모르면 1번부터 뒤지지만,
키가 있으면 단번에 도착해요. 그게 빠른 비결이에요.

하나씩
1
2
3
4
5
6
이름표로
?
?
?
?
Mina
?

왼쪽은 하나씩 뒤지고, 오른쪽은 이름표로 단번에 도착해요. 차이를 눌러 보세요.

이름만 알면 멀리 돌지 않아요.
그래서 키와 값은 '많은 것 중에서
하나를 빨리 꺼내는' 일에 아주 강해요.
마지막으로, 이름표에 딱 하나 지켜야 할 규칙이 있어요.

04

이름표는 안 겹쳐요

규칙은 하나예요.
같은 이름표는 딱 한 번만 쓸 수 있어요.
새 이름표는 얼마든지 더 붙여도 되지만,
이미 있는 이름표에 새 값을 넣으면
예전 값은 지워지고 새것으로 바뀌어요.

Mina 010-2345
Tom 010-7788

새 이름표는 칸이 늘고, 같은 이름표를 다시 넣으면 옛 값이 새 값으로 바뀌어요.

이름표가 안 겹치니까
'민수'를 부르면 헷갈릴 일이 없어요.
언제나 정확히 한 값이 나오죠.
이 단순한 짝 하나가, 사실 어디에나 숨어 있어요.

05

어디에나 있는 짝, 그리고 그 너머

사전(단어→뜻), 설정(항목→값),
연락처(이름→번호), 게임 가방(아이템→개수).
다 키와 값이에요.
자료를 정리하는 가장 흔한 방법 중 하나죠.
다음엔 이런 이름표들을 한 덩어리로 묶어
'하나의 물건'처럼 다루는 법으로 가요.

Mina 010-2345
전부 같은 키 → 값

사전, 설정, 연락처, 가방. 눌러 가며 보세요. 전부 같은 '키 → 값'이에요.

줄 세운 배열(8강)에 이어,
이름표로 찾는 키와 값까지 손에 넣었어요.
번호로도, 이름으로도 자료를 다룰 수 있게 된 거죠.
다음엔 이름표 여러 개를 한 상자에 담아
'하나의 것'으로 묶는 법, 객체로 가요.

한 줄 정리키와 값은 '이름표 → 내용물' 짝이에요. 번호 대신 이름(키)으로 바로 값을 꺼내고, 이름표는 안 겹쳐요. 사전, 설정, 연락처가 다 이 방식이에요.
프로그래밍
이 페이지가 도움 됐다면 후원하기