학습 본문으로 건너뛰기
오늘은 질문 하나만 해결해요211 / 216

처음이어도 괜찮아요 · 그림부터 시작해요

정보만 담고 중요한 일은 밖에 흩어 두기

오늘의 질문

일반 서점에서는 이런 장면과 닮았어요. “금고는 숫자만 보여 주고 출금 규칙은 여러 창구 직원 메모에 흩어진 것과 닮았어요.”

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.
왜 배우는지 쉬운 설명 보기

계좌 안에서 쓰기 규칙을 지키면 2가 남지만 바깥에서 바로 빼면 음수가 됩니다. 이 장면을 살펴보는 까닭은 “대상은 정보 주머니만 되고 그 정보를 지켜야 할 중요한 일이 여러 바깥곳에 흩어진 모습이에요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

02 · 먼저 해 본 뒤 이름 붙이기

인공지능이 만든 설계를 고치는 수리소에서 오늘 장면 하나를 천천히 살펴봐요

동네책방 대상 카드

정보만 담고 중요한 일은 밖에 흩어 두기

반복 글을 줄여 주는 도구도 들어온 내용 확인, 안쪽 정보의 변화 막기와 안전한 화면 표시를 대신하지 않아요.
01 · 오늘 마주칠 생활 장면

계좌 안에서 쓰기 규칙을 지키면 2가 남지만 바깥에서 바로 빼면 음수가 됩니다.

이 장면을 짧은 컴퓨터 글로 옮겨 천천히 확인해 볼게요.

02 · 먼저 잡아 둘 쉬운 뜻

쉬운 말로 풀면 이런 뜻이에요. “대상은 정보 주머니만 되고 그 정보를 지켜야 할 중요한 일이 여러 바깥곳에 흩어진 모습이에요.”

책에서 쓰는 정확한 이름은 직접 살펴본 뒤에 붙여요.

03 · 실제 첫 글 읽기

한 줄에서 한 가지 행동만 찾아요

표시를 전부 외우지 않아도 괜찮아요. 오른쪽의 쉬운 행동만 먼저 읽으세요.

  1. class Account:

    같은 정보와 일을 함께 쓸 새 종류의 설명을 시작해요.

    class
    같은 정보와 일을 함께 쓸 새 종류를 설명하기 시작하는 말로, 이 설명 묶음을 클래스라고 불러요
    Account
    같은 정보와 일을 함께 쓸 새 종류에 붙인 수업용 이름
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
  2. def __init__(self, number): self.number = number

    나중에 이름으로 부를 일 묶음과 받을 자리를 등록해요.

    def
    나중에 이름으로 불러 쓸 일 묶음을 등록하겠다는 말
    __init__
    이 일 묶음을 나중에 다시 부르려고 붙인 수업용 이름
    self
    지금 이 일을 맡은 한 대상을 가리키는 첫 번째 받을 자리예요. 파이썬에서는 보통 self라고 적어요
    number
    이름 붙인 일 묶음(함수)이 실제 내용을 받을 빈칸에 붙인 수업용 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
  3. def withdraw(self, amount):

    나중에 이름으로 부를 일 묶음과 받을 자리를 등록해요.

    def
    나중에 이름으로 불러 쓸 일 묶음을 등록하겠다는 말
    withdraw
    이 일 묶음을 나중에 다시 부르려고 붙인 수업용 이름
    self
    지금 이 일을 맡은 한 대상을 가리키는 첫 번째 받을 자리예요. 파이썬에서는 보통 self라고 적어요
    amount
    이름 붙인 일 묶음(함수)이 실제 내용을 받을 빈칸에 붙인 수업용 이름
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    ,
    여러 내용이나 입력 자리를 서로 나누는 표시
  4. if amount <= self.number: self.number -= amount

    뒤의 물음이 맞을 때만 바로 아래의 들여쓴 일을 해요.

    if
    뒤의 물음이 맞을 때만 다음 일을 하라는 말
    amount
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    self
    지금 이 일을 맡은 한 대상을 가리키는 첫 번째 받을 자리예요. 파이썬에서는 보통 self라고 적어요
    number
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    :
    이 줄 다음에 안쪽으로 들여쓴 일이 이어진다고 알리는 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
  5. account = Account(5)

    오른쪽 일을 먼저 한 뒤 나온 내용을 왼쪽 이름표로 다시 찾게 해요.

    account
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    Account
    앞에서 설명한 새 종류로 실제 대상 하나를 만들려고 부르는 이름
    =
    오른쪽에서 준비한 내용을 왼쪽 이름표로 다시 찾게 잇는 표시
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
  6. account.withdraw(3)

    앞에서 준비한 일 묶음을 부르고 괄호 안의 실제 내용을 건네요.

    account
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    withdraw
    앞에서 준비한 일 묶음을 지금 실제로 시키려고 부르는 이름
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
  7. print(account.number)

    괄호 안 내용을 다음 계산으로 보내지 않고 화면에 보여줘요.

    print
    괄호 안 내용을 화면에 보여 주는 도구
    account
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    number
    수업용 값이나 중간 결과를 다음 줄에서 다시 찾으려고 붙인 이름
    ()
    받을 자리를 적거나 준비한 일을 실제로 시키는 둥근 표시
    .
    앞의 내용에 딸린 행동이나 저장된 정보를 골라 쓰는 점 표시예요
아직 결과를 보지 않고, 대상과 붙은 정보 가운데 무엇부터 확인하면 좋을까요?

먼저 하나를 고르면 첫 글을 따라 한 결과를 열 수 있어요.

확인 순서 큰 그림 펼쳐 보기
그림을 글로 다시 읽어요

자동으로 줄인 글과 남은 책임을 나눠요

자동으로 생긴 부분과 사람이 직접 정해야 할 약속을 서로 다른 칸에 놓으세요.

  1. 자동으로 생긴 글 확인하기

    만들기, 보여 주기와 비교 중 생긴 부분을 봐요.

  2. 안 해 주는 일 적기

    들어온 내용이 허용되는지 확인하고 안쪽 정보의 변화까지 막는 일은 별도예요.

  3. 작은 반대 예로 검사하기

    인공지능 제안도 한 곳을 바꾼 예로 채택하거나 거절해요.

첫 글과 바꾼 글을 차례로 확인하면 이 칸이 열려요 · 0 / 240

책 한 권에 붙은 이름표, 책 속 정보와 시킬 일을 먼저 살펴보고 자기 말로 설명한 뒤 정확한 이름 하나와 쉬운 뜻을 함께 엽니다.인공지능이 만든 설계를 고치는 수리소에서 대상, 붙은 정보, 시킨 일과 마지막 모습을 번호·선·모양과 글로 나란히 보여 줍니다.직접 해보기: 그림을 읽고 내 말 설명을 여덟 글자 이상 적으면 현재 장면의 정확한 이름 하나와 여덟 칸 쉬운 풀이를 엽니다. · 화면 움직임을 줄여 쓰는 경우: 자동 재생 없이 고른 뒤 모습을 바로 바꿉니다. 움직임을 줄여도 같은 글 순서와 직접 확인한 내용을 읽을 수 있습니다.

03 · 이제 내가 해볼 차례

여기까지 오면 이런 일을 할 수 있어요

계좌 안에서 쓰기 규칙을 지키면 2가 남지만 바깥에서 바로 빼면 음수가 됩니다. 이 장면을 살펴보는 까닭은 “대상은 정보 주머니만 되고 그 정보를 지켜야 할 중요한 일이 여러 바깥곳에 흩어진 모습이에요”라는 기준을 익혀, 비슷해 보이는 두 경우도 안전하게 나누기 위해서예요.

  • 컴퓨터가 글을 따라 하기 전에 마지막 모습을 먼저 골라요.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 서로 다른 표시로 짚어요.
  • 내가 생각한 모습과 직접 확인한 모습을 나란히 적어요.
  • 무엇이 달랐는지 쉬운 말로 설명한 뒤 책에서 쓰는 정확한 이름 하나를 붙여요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

짧은 글을 먼저 예상하고 직접 확인한 뒤, 대상에 붙은 정보와 시킨 일이 어디에서 왔는지 자기 말로 설명합니다.

  • 공개 풀이를 보기 전에 마지막 모습과 그렇게 생각한 까닭을 먼저 적습니다.
  • 대상, 붙은 정보, 시킨 일과 마지막 모습을 차례로 짚습니다.
  • 생활말로 먼저 설명한 뒤 오늘의 정확한 이름 하나와 쉬운 뜻을 연결합니다.
  • 이름이나 내용이 달라진 새 장면에서도 같은 확인 순서를 사용합니다.

04 · 자주 헷갈리는 지점

틀린 답도 이유를 알면 다음에는 맞힐 수 있어요

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 대상과 그 대상에 붙은 정보부터 하나씩 다시 볼까요?

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01겉으로 비슷하게 보이면 같은 대상이고 같은 규칙을 써도 돼요.

한 번 더 생각해 볼 질문두 대상을 같은 한 덩어리인지, 담긴 내용이 같은지만지를 나누어 적어 보세요.

이렇게 고쳐 생각해요같은 한 대상인지, 담긴 내용만 같은지와 어떤 종류의 설명을 따르는지 따로 확인해야 해요.

02처음에는 “금고는 숫자만 보여 주고 출금 규칙은 여러 창구 직원 메모에 흩어진 것과 닮았어요”라는 비유만 보고 비슷한 두 경우가 언제나 같다고 생각하기 쉬워요.

한 번 더 생각해 볼 질문“정보만 담고 중요한 일은 밖에 흩어 두기” 장면에서 첫 글과 바꾼 글의 확인 내용에서 무엇이 달라졌는지, “대상은 정보 주머니만 되고 그 정보를 지켜야 할 중요한 일이 여러 바깥곳에 흩어진 모습이에요”라는 기준과 “anemic domain model은 밖으로 나를 정보 꾸러미나 읽기만 하는 표처럼 일부러 일이 없는 모양까지 잘못됐다고 부르는 말은 아니에요”라는 주의점을 써서 설명해 보세요. 그런 다음 “모습을 바꾸는 규칙이 여러 곳에 되풀이되어 있는지 찾아 정보와 가장 가까운 곳으로 모아 보세요” 장면에서는 무엇부터 확인할지도 설명해 보세요.

이렇게 고쳐 생각해요첫 글과 한 곳을 바꾼 글에서 처음 달라지는 곳을 찾고, 그 앞과 뒤 모습을 따로 확인해요.

03책에서 쓰는 이름만 외우면 새로운 문제에서도 바로 쓸 수 있어요.

한 번 더 생각해 볼 질문오늘 본 일을 정확한 이름 없이 처음 배우는 친구에게 설명해 보세요.

이렇게 고쳐 생각해요이름보다 먼저 눈앞의 정보와 달라진 행동을 자기 말로 설명해야 새로운 문제에서도 판단할 수 있어요.

05 · 더 궁금할 때만 보기

선생님과 검토자를 위한 믿을 만한 원문

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.