하리Hari

1. 이름표에 값 담기 (변수)

값을 이름표에 담아 두고 다시 꺼내 쓰는 법을 배워요.

이 장에서 배울 것

  • 값을 이름표(변수)에 담고 꺼내 쓰기
  • 담긴 값을 바꾸기
  • 글자 사이에 값을 끼워 넣기 (틀)
  • 값의 종류(숫자, 문자열, 논리, 비어있음)와 타입 붙이기
  • 바꿀 수 없는 값 만들기 (고정하자)

이름표란?

프로그램은 계산 결과나 사용자의 이름처럼 기억해 둘 값이 많아요. 값을 기억해 두려면 이름표를 붙여 두면 돼요. 이름표를 붙여 둔 값을 프로그래밍에서는 변수라고 불러요.

이름표는 작은따옴표로 써요. '이름', '점수'처럼요. 값을 이름표에 담을 때는 정하자를 써요.

'이름'을 "하리"로 정하자
'이름'을 출력하자
  • 첫 줄: '이름'이라는 이름표에 글자 "하리"를 담아요.
  • 둘째 줄: '이름'에 담긴 값을 출력해요. 화면에는 하리가 나와요.

숫자도 똑같이 담을 수 있어요. 숫자는 따옴표 없이 써요.

'나이'를 20으로 정하자
'나이'를 출력하자

담긴 값 바꾸기

같은 이름표에 정하자를 다시 쓰면 새 값으로 바뀌어요. 이전 값은 사라져요.

'날씨'를 "맑음"으로 정하자
'날씨'를 출력하자
'날씨'를 "비"로 정하자
'날씨'를 출력하자

맑음이 먼저, 비가 나중에 나와요. 프로그램은 위에서 아래로 흐르니까, 출력하는 그 순간에 담겨 있는 값이 나와요.

숫자는 더하자, 빼자로 늘리거나 줄일 수 있어요. (계산은 3장에서 더 자세히 배워요.)

'점수'를 10으로 정하자
'점수'에 5를 더하자
'점수'를 출력하자

15가 나와요.


글자 사이에 값 끼워 넣기: 틀

“안녕하세요, 하리님!“처럼 글자 중간에 이름표의 값을 넣고 싶을 때가 많아요. 큰따옴표 앞에 틀 을 붙이고, 넣고 싶은 이름표를 중괄호 { } 로 감싸면 돼요.

'이름'을 "하리"로 정하자
'나이'를 20으로 정하자
틀"안녕하세요, {'이름'}님! 올해 {'나이'}살이군요."를 출력하자

안녕하세요, 하리님! 올해 20살이군요.가 나와요. { } 안에는 계산식도 넣을 수 있어요. 틀"내년에는 {'나이' + 1}살이에요."처럼요.


이름표 이름 짓기

  • 한글, 영어, 숫자, 밑줄(_)을 쓸 수 있어요. '점수', 'score', '점수2', '최고_점수'
  • 띄어쓰기는 쓸 수 없어요. '내 점수' 대신 '내점수'나 '내_점수'로 쓰세요.
  • 무엇을 담는지 알 수 있는 이름이 좋아요. '가'보다 '점수'가 나중에 읽기 쉬워요.

값의 종류

값에는 종류가 있어요. 처음에 알아 둘 종류는 네 가지예요.

종류 예 설명
숫자 20, 3.14, -5 계산할 수 있는 수
문자열 "하리", "안녕" 큰따옴표로 감싼 글자
논리 참, 거짓 맞다/틀리다 (조건문에서 써요)
비어있음 비어있음 아직 아무 값도 없음

비어있음은 “나중에 채울 거예요”라는 뜻으로 쓰면 좋아요.

'우승자'를 비어있음으로 정하자
'우승자'를 출력하자
'우승자'를 "하리"로 정하자
'우승자'를 출력하자

목록과 사전처럼 값을 여러 개 묶는 종류는 7장에서 배워요.


타입 붙이기 (선택)

이름표를 만들 때 어떤 종류만 담을지 정해 둘 수 있어요. 값 앞에 [종류]인을 붙이면 돼요. 이 종류를 타입이라고 해요.

'이름'을 [문자열]인 "하리"로 정하자
'나이'를 [숫자]인 20으로 정하자
틀"{'이름'}, {'나이'}살"을 출력하자

타입은 붙이지 않아도 돼요. 붙이면 다른 종류의 값이 실수로 들어가는 것을 막아 줘요. 아래는 숫자만 담기로 한 '나이'에 글자를 넣으려고 해서 오류가 나요.

'나이'를 [숫자]인 20으로 정하자
'나이'를 "스무 살"로 정하자

“’나이’에는 ‘숫자’ 타입만 담을 수 있어요.” 라는 오류가 나와요. 큰 프로그램을 만들수록 타입을 붙여 두면 실수를 빨리 찾을 수 있어요.

타입 담을 수 있는 값
[숫자] 숫자
[문자열] 글자
[논리] 참, 거짓
[아무거나] 무엇이든 (타입을 안 붙인 것과 같아요)

비어있음은 어떤 타입의 이름표에도 담을 수 있어요.


바꿀 수 없는 값: 고정하자

원주율처럼 절대 바뀌면 안 되는 값은 정하자 대신 고정하자로 만들어요. 이런 값을 상수라고 해요.

'원주율'을 3.14로 고정하자
틀"원주율은 {'원주율'}이에요."를 출력하자

고정한 값을 바꾸려고 하면 오류가 나요. 중요한 값이 실수로 바뀌는 것을 막아 주는 거예요.

'원주율'을 3.14로 고정하자
'원주율'을 3으로 정하자

“상수 ’원주율’의 값은 변경할 수 없어요.” 라는 오류가 나와요.


자주 하는 실수

1. 큰따옴표와 작은따옴표를 헷갈림

'이름'을 "하리"로 정하자
"이름"을 출력하자
'이름'을 출력하자

"이름"은 이름이라는 글자라서 이름이 나오고, '이름'은 이름표에 담긴 값이라서 하리가 나와요.

2. 만들기 전에 쓰기

이름표는 정하자로 만든 다음에만 쓸 수 있어요. 아래는 '점수'를 만들기 전에 출력하려고 해서 오류가 나요.

'점수'를 출력하자
'점수'를 100으로 정하자

“‘점수’ 변수를 찾을 수 없어요.” 가 나오면, 그 이름표를 먼저 만들었는지, 이름에 오타가 없는지 확인하세요.

3. 틀을 빠뜨림

'이름'을 "하리"로 정하자
"안녕, {'이름'}!"을 출력하자
틀"안녕, {'이름'}!"을 출력하자

틀이 없으면 중괄호가 그대로 안녕, {'이름'}!처럼 나와요. 값을 끼워 넣으려면 큰따옴표 앞에 틀을 꼭 붙이세요.


정리

하고 싶은 일 쓰는 법
이름표에 값 담기 '점수'를 10으로 정하자
담긴 값 바꾸기 '점수'를 20으로 정하자 (다시 정하기)
숫자 늘리기·줄이기 '점수'에 5를 더하자, '점수'에서 5를 빼자
글자 사이에 값 넣기 틀"점수는 {'점수'}점"
타입 붙이기 '점수'를 [숫자]인 10으로 정하자
아직 값이 없음 비어있음
바꿀 수 없게 하기 '원주율'을 3.14로 고정하자

연습 문제

1. '과일'에 좋아하는 과일 이름을, '개수'에 숫자를 담고, 틀을 써서 “사과를 3개 샀어요.“처럼 출력해 보세요.

(참고) 여기에 써 보세요.
정답 예시
'과일'을 "사과"로 정하자
'개수'를 3으로 정하자
틀"{'과일'}를 {'개수'}개 샀어요."를 출력하자

2. 아래 코드를 실행하기 전에, 마지막에 무엇이 출력될지 예상해 보세요.

'돈'을 1000으로 정하자
'돈'에서 300을 빼자
'돈'에 500을 더하자
'돈'을 출력하자
정답 보기

1200이 나와요. 1000에서 300을 빼서 700이 되고, 거기에 500을 더해 1200이 돼요.

3. 아래 코드는 오류가 나요. 왜 그런지 생각해 보고, 오류가 나지 않게 고쳐 보세요.

'최고점수'를 [숫자]인 100으로 고정하자
'최고점수'를 120으로 정하자
'최고점수'를 출력하자
정답 보기

'최고점수'를 고정하자로 만들어서 바꿀 수 없어요. 바뀌어야 하는 값이라면 정하자로 만들면 돼요.

'최고점수'를 [숫자]인 100으로 정하자
'최고점수'를 120으로 정하자
'최고점수'를 출력하자

다음 장에서는 사용자에게 값을 입력받고, 글자와 숫자를 서로 바꾸는 법을 배워요.

놀이터
결과
코드를 작성하고 '실행' 버튼을 눌러보세요.