IMCAT.DEV
로그인 가입
Swift 입문 도구

Swift 기본적인 입출력

Swift 기본적인 입출력 — 초급

기본적인 입출력

1. 도입 (왜 배워야 하는가)

프로그래밍에서 입출력(I/O)은 사용자와 프로그램 간의 데이터 전송을 의미합니다. 실제로 사용자가 프로그램을 사용할 때, 입력은 프로그램이 처리할 정보를 제공하고, 출력은 프로그램이 결과를 사용자에게 보여주는 중요한 역할을 합니다.

이러한 입출력 기능을 제대로 이해하지 못하면, 프로그램이 사용자와 상호작용할 수 없게 되어 사용자가 원하는 정보를 얻지 못하게 됩니다. 예를 들어, 쇼핑몰 애플리케이션에서 사용자가 장바구니에 상품을 추가하거나 결제를 진행할 때, 사용자의 입력을 받아들이고 결과를 보여주는 것이 필수입니다. 따라서 기본적인 입출력 기능을 이해하고 활용하는 것은 실무에서 매우 중요합니다.

2. 핵심 개념 설명

  • 입력(Input): 사용자가 프로그램에 전달하는 데이터를 의미합니다. 예를 들어, 사용자가 이름을 입력하는 경우, 이 이름은 프로그램의 입력이 됩니다.
  • 출력(Output): 프로그램이 사용자에게 전달하는 데이터를 의미합니다. 계산 결과를 출력하는 것이 대표적입니다.

비유

입출력은 마치 레스토랑의 웨이터와 손님 간의 소통과 같습니다. 손님은 주문을 통해 입력을 제공하고, 웨이터는 그 주문을 주방에 전달합니다. 주방에서 요리가 완료되면 웨이터가 손님에게 음식을 제공하는 것이 출력입니다.

용어설명
입력사용자로부터 받는 데이터
출력사용자에게 보여주는 데이터

3. 기본 코드 예제

아래는 Swift에서 사용자로부터 입력을 받고 출력하는 가장 기본적인 코드 예제입니다.

import Foundation

// 사용자로부터 이름을 입력받는다.
print("이름을 입력하세요: ", terminator: "")
let name = readLine() // 사용자의 입력을 받는다.

// 입력받은 이름을 출력한다.
print("안녕하세요, \(name ?? "손님")님!")

실행 결과

이름을 입력하세요: 홍길동
안녕하세요, 홍길동님!

코드 한 줄씩 동작 설명

  1. import Foundation: Swift의 기본 라이브러리를 가져옵니다. 입출력 기능을 사용하기 위해 필요합니다.
  2. print("이름을 입력하세요: ", terminator: ""): 사용자에게 이름을 입력하라는 메시지를 출력합니다. terminator를 사용하여 출력 후 줄바꿈을 하지 않습니다.
  3. let name = readLine(): 사용자가 입력한 내용을 name 변수에 저장합니다. readLine() 함수는 사용자 입력을 기다립니다.
  4. print("안녕하세요, \(name ?? "손님")님!"): 입력받은 이름을 출력합니다. nil인 경우 "손님"이라는 기본값을 사용합니다.
  5. 4. 실전 활용 예제

  6. 쇼핑몰에서 장바구니를 구현할 때
  7. 사용자가 상품을 장바구니에 추가할 때, 상품의 이름이나 수량을 입력받고, 이를 바탕으로 장바구니에 추가된 내용을 출력할 수 있습니다.

       print("장바구니에 추가할 상품의 이름을 입력하세요: ", terminator: "")
       let productName = readLine()
       print("상품 \(productName ?? "상품명 없음")이 장바구니에 추가되었습니다.")
  8. 설문조사 애플리케이션
  9. 사용자가 설문조사에 응답할 때, 각 질문에 대한 답변을 입력받고, 이를 최종적으로 출력하여 결과를 보여줄 수 있습니다.

       print("설문에 응답해 주세요: 좋아하는 색깔은 무엇인가요?")
       let favoriteColor = readLine()
       print("당신이 좋아하는 색깔은 \(favoriteColor ?? "모르겠어요")입니다.")

    5. 흔한 실수와 주의사항

  10. 입력값을 처리하지 않는 실수
  11. - 잘못된 코드:

       let age = readLine() // 입력값을 처리하지 않음
       print("당신의 나이는 \(age)입니다.")

    - 올바른 코드:

       let age = readLine() ?? "알 수 없음" // nil 처리를 추가
       print("당신의 나이는 \(age)입니다.")
  12. 출력 형식에 대한 혼동
  13. - 잘못된 코드:

       print("안녕하세요, name님!") // name을 변수로 인식하지 않음

    - 올바른 코드:

       print("안녕하세요, \(name ?? "손님")님!") // 변수를 올바르게 사용

    6. 정리

  14. 입출력은 사용자와 프로그램 간의 중요한 데이터 전송 방법이다.
  15. 사용자의 입력을 받고 그에 대한 출력을 제공하는 기능은 필수적이다.
  16. print()와 readLine()은 Swift에서 기본적인 입출력을 수행하는 함수이다.
  17. nil 처리와 변수 사용에 주의해야 한다.

다음에 학습하면 좋은 주제는 Swift의 조건문과 반복문입니다. 이를 통해 사용자 입력에 따라 프로그램의 흐름을 제어할 수 있게 됩니다.