오늘 끝나면
변수와 데이터
- ✓변수와 데이터의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 변수와이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
숫자·문자·참거짓 — 컴퓨터가 정보를 담는 그릇 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 2
변수와 데이터
변수는 값에 이름표를 붙인 것이다. 값에는 종류, 즉 타입이 있다. 종류를 헷갈리면 1+1 이 2가 아니라 11이 된다.
변수 = 값에 붙인 이름표
코드는 숫자, 글자 같은 값을 잔뜩 다룬다. 매번 값을 그대로 쓰면 헷갈린다. 그래서 값에 이름을 붙이는데, 그게 변수다.
그림은 간단하다. 상자에 이름표를 붙이고, 상자 안에 값을 넣는다. age = 30 은 age 상자에 30을 담는다는 뜻이다.
이름만 부르면 그 값이 튀어나온다. age = 31 하면 같은 상자의 내용물만 바뀐다. 이렇게 값이 변할 수 있어서 변수라 부른다.
값에는 종류가 있다
값의 종류를 자료형, 곧 타입이라 한다. 제일 먼저 만나는 건 딱 세 가지다.
숫자는 계산하는 값이다. 30, 3.14, -5. 더하고 빼고 곱한다.
문자열은 따옴표로 감싼 글자다. "안녕", "30". 따옴표 안의 30은 숫자가 아니라 그냥 글자다.
불리언은 참과 거짓 둘뿐이다. true 아니면 false. “문이 열렸나?” 같은 질문에 예나 아니오로 답하는 값이다. 내일 배울 조건문이 이걸로 굴러간다.
왜 종류를 굳이 구분할까
같은 기호 + 가 타입에 따라 전혀 다른 일을 한다.
숫자끼리면 + 는 산술 덧셈이다. 1 + 1 은 2가 된다.
문자열끼리면 + 는 이어붙이기다. "1" + "1" 은 2가 아니라 "11"이다. 글자 1 뒤에 글자 1을 붙인 것이다.
그래서 입력칸에 적은 문자열 "30"을 나이로 계산하려면 먼저 숫자로 바꿔야 한다. 안 바꾸면 "30" + 1 이 "301"이 된다. 초보가 제일 자주 밟는 지뢰다.
직접 더해보기
오른쪽에서 변수 a, b 에 값을 넣고 타입을 바꿔가며 직접 더해본다.
둘 다 숫자로 두고 1, 1 을 넣으면 2가 나온다. 둘 다 문자열로 바꾸면 같은 1, 1 인데 결과가 "11"로 변한다.
한쪽만 문자열이어도 결과가 문자열로 끌려간다. 이게 타입이 결과를 결정한다는 말의 뜻이다.
코드 보기
a = 1 # 숫자 b = 1 # 숫자 a + b # 2 (산술 덧셈) a = "1" # 문자열 b = "1" # 문자열 a + b # "11" (이어붙이기)
타입 바꾸기
타입을 바꾸는 것을 형변환이라 한다.
문자열을 숫자로 바꿀 땐 Number("30")를 쓴다. 숫자를 글자로 바꿀 땐 String(30)을 쓴다.
그래서 정리하면
변수는 값이 저장된 상자에 붙인 이름표다. 값에는 숫자, 문자열, 불리언 같은 타입이 있다. 같은 연산도 타입에 따라 결과가 달라지고, 안 맞으면 바꿔 끼운다.