TypeScript - 결정 제작

안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 프로그래밍에서 가장 중요한 개념 중 하나인 결정 제작에 대해 깊이 다루어보겠습니다. 여러분의 친절한 이웃 컴퓨터 교사로서, TypeScript에서 이 여정을 안내해드리게 되어 기쁩니다. 코드를 한 줄도 작성해본 적이 없으신 분들도 걱정하지 마세요 - 우리는 처음부터 함께 차근차근 진행해 나갈 것입니다.

TypeScript - Decision Making

결정 제작이란?

코드로 들어가기 전에, 프로그래밍에서 결정 제작이 정말 무엇을 의미하는지 이야기해보겠습니다. 여러분이 비디오 게임을 하고 있다고 상상해보세요. 게임은 여러분의 행동에 따라 끊임없이 결정을 내립니다: 점프 버튼을 누르면 캐릭터가 점프하고, 적과 부딪히면 목숨을 잃습니다. 이것이 결정 제작의 활동입니다!

프로그래밍에서 결정 제작은 특정 조건에 따라 코드가 선택을 내릴 수 있게 해줍니다. 프로그램에 뇌를 주어 생각하고 부합하는 행동을 하게 만드는 것입니다.

if 문

TypeScript(및 많은 다른 프로그래밍 언어들)에서 가장 기본적인 형태의 결정 제작은 if 문입니다. 간단한 예제를 보겠습니다:

let playerScore = 75;

if (playerScore > 50) {
console.log("You passed the level!");
}

이 코드에서는 플레이어의 점수가 50점보다 큰지 확인하고 있습니다. 그렇다면 축하 메시지를 출력합니다. 이를 자세히 설명하겠습니다:

  1. playerScore라는 변수를 선언하고 75로 설정합니다.
  2. if 키워드로 결정 제작을 시작합니다.
  3. 괄호 안에는 조건을 두고 있습니다: playerScore > 50.
  4. 이 조건이 참이면, 중괄호 {} 안의 코드가 실행됩니다.

이 코드를 실행하면 "You passed the level!"이 출력됩니다. playerScore를 40으로 변경해보세요!

if-else 문

하지만 조건이 거짓일 때 무언가를 하고 싶다면 어떻게 할까요? 그때는 else 문이 유용합니다:

let playerLives = 0;

if (playerLives > 0) {
console.log("Game on! You're still alive.");
} else {
console.log("Game over! Better luck next time.");
}

여기서는 플레이어가 목숨이 남았는지 확인하고 있습니다. 남았다면 게임이 계속됩니다. 그렇지 않다면 게임이 끝납니다. 이는 게임이 결정 제작을 통해 게임의 흐름을 제어하는 좋은 예입니다.

else-if 문

때로는 여러 조건을 확인해야 합니다. 그때는 else if가 도움이 됩니다:

let grade = 85;

if (grade >= 90) {
console.log("A - Excellent!");
} else if (grade >= 80) {
console.log("B - Good job!");
} else if (grade >= 70) {
console.log("C - Not bad, keep improving!");
} else {
console.log("You need to study more!");
}

이 코드는 학생의 성적을 확인하고 다른 피드백을 제공합니다. 가장 높은 성적부터 시작하여 내려갑니다. 조건이 참이 되는 즉시 해당 블록의 코드가 실행되고 나머지는 건너뜁니다.

switch 문

많은 조건을 확인해야 할 때, 특히 단일 변수를 여러 가지 값과 비교할 때 switch 문이 깔끔하고 효율적일 수 있습니다:

let dayNumber = 3;
let day: string;

switch (dayNumber) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
default:
day = "Invalid day";
}

console.log(`The day is ${day}`);

switch 문은 dayNumber의 값을 확인하고 해당하는 요일 이름을 day 변수에 할당합니다. break 문은 매우 중요합니다 - 일치하는 케이스를 찾으면 코드 실행을 중지합니다.

조건 연산자

간단한 if-else 결정을 위해 TypeScript는 ternary 연산자라는 간결한 방법을 제공합니다:

let age = 20;
let canVote = age >= 18 ? "Yes" : "No";

console.log(`Can this person vote? ${canVote}`);

이 코드는 age가 18 이상인지 확인합니다. 그렇다면 canVote는 "Yes"가 되고, 그렇지 않다면 "No"가 됩니다. 간단한 if-else 문을 한 줄로 작성하는 방법입니다.

중첩된 결정 제작

때로는 결정 내부에서 다른 결정을 내려야 합니다. 이를 중첩된 결정 제작이라고 합니다:

let isRaining = true;
let hasUmbrella = false;

if (isRaining) {
if (hasUmbrella) {
console.log("You can go outside with your umbrella!");
} else {
console.log("Better stay inside, you don't have an umbrella.");
}
} else {
console.log("Enjoy the nice weather outside!");
}

이 코드는 비가 오는지 확인합니다. 비가 오면 우산이 있는지 확인합니다. 이 중첩된 조건에 따라 다른 조언을 제공합니다.

결정 제작 방법 요약

이제 다루어본 결정 제작 방법의 빠른 참조 표를 제공합니다:

방법 사용 사례 문법
if 단일 조건 if (condition) { ... }
if-else 두 가지 가능한 결과 if (condition) { ... } else { ... }
else-if 여러 조건 if (condition1) { ... } else if (condition2) { ... } else { ... }
switch 단일 변수에 대한 여러 케이스 switch (variable) { case value1: ... break; case value2: ... break; default: ... }
조건 연산자 간단한 if-else condition ? valueIfTrue : valueIfFalse

결정 제작을 마스터하려면 연습이 중요합니다. 자신만의 시나리오를 만들어 이 다양한 방법들을 시도해보세요! 아마도 단순한 텍스트 기반 게임을 만들어 결정을 통해 이야기를 진행시키는 것도 좋을 것입니다!

마무리로, 프로그래밍의 지혜를 공유하고 싶습니다: 코드는 요리와 많이 닮았습니다. 기본 재료(변수)로 시작하여 (알고리즘) 레시피를 따라 다양한 기술(결정 제작)을 사용하여 놀라운 것을 만들어냅니다. 그러니 실험하고, 즐기세요!

계속 코딩하며 호기심을 유지하고, 행복한 결정 제작을 기원합니다!

Credits: Image by storyset