돌아오신 것을 환영합니다
지난 영상에서는 if, else 그리고 사용자 입력을 다루는 방법을 살펴보았습니다
이번 영상에서는 한 단계 더 나아가 else의 사용법에 대해 살펴볼 예정입니다
그리고 else if는 추가적인 상황이나 선택지를 추가할 수 있도록 합니다
자 이 예시를 사용했었습니다
만약 age(나이)가 18보다 크면 이것을 실행하는 것이었습니다
여기에 더 많은 선택지가 있다면 어떨까요?
누군가 18살보다 많은지 뿐만 아니라 40살보다 적은지도 확인하는 것입니다
예를 들어 말입니다
아니면
60살로 제한해도 됩니다
현재 age가 18보다 클 경우 이것을 실행하고
나머지 경우는 이것을 실행합니다
만약 40이 넘는다는 상황을 만들려면 이 로직을 바꿔야 합니다
40살보다 많을 경우 "You can not go into the club, please go home." (클럽 입장 제한. 돌아가시기 바랍니다)
그리고 만약 age가 18보다 크거나 같으면 클럽에 입장할 수 있다고 써줍니다
여기 println()을 사용합니다
그리고 이 라인은 else문에 넣어줄 것입니다
왜 이러한 로직을 사용했는지는 곧 설명드릴 것입니다
왜냐하면 한 조건 안에 여러 조건을 넣는 방식도 있기 때문입니다
그걸 잠시 후 살펴볼 것입니다
하지만 우선 이 else if를 어떻게 사용하는지부터 보여드리겠습니다
일단 실행해 보겠습니다
그러면
나이를 정수로 입력하라는 문구가 보입니다
25를 입력하니 입장할 수 있다는 문구가 보입니다
다시 실행해 봅시다
이번엔 41을 입력하자 입장할 수 없으니 돌아가라는 문구가
보입니다
40보다 크기 때문입니다
이제
만약 이 구조를 사용하지 않는다면 문제가 발생할 것입니다
만약 전과 같은 구조를 사용했다고 해봅시다
그전에
차이점을 보셨나요?
방금은 if 다음 else if 그리고 마지막에 else를 사용했습니다
하지만 다수의 else if들을 사용할 수도 있습니다
그건 잠시 후에 살펴보겠습니다
하지만 만약 if문을 가장 높은 우선 순위로 두고
else if를 발생하지 않게 한다면 그 else if는 절대 실행되지 않습니다
그러니까 else는 실행되지만 else if는 절대 실행되지 않는다는 것입니다
이게 무슨 뜻인지 보여드리겠습니다
좋습니다
이전의 상황은 age가 18보다 크면
클럽에 입장할 수 있다고 출력했습니다
이제 여기에 별도의 조건을 추가하기 위해 else if 조건으로
age가 40보다 크거나 같으면 나이가 너무 많다는 문구를 출력해 보겠습니다 물론 실제로그렇게
생각하진 않습니다
하지만 18살의 입장에서는 그렇게 보일 수도 있을 것 같습니다
그러면 이 코드에 밑줄이 그어진 게 보입니다
그리고 이걸 실행하면 50을 입력해봐도 나이가 너무 많다는 이 문구가 뜨지 않을 것인데 이유를 설명해드리겠습니다
그러면 코드를 다시 실행하고 120을 입력해 봅시다
클럽에 입장할 수 있다는 문구가 뜹니다
하지만 분명 40살보다 젊은 사람들만 입장이 가능한 것 아니었나요?
자 문제는 코드는 항상 위에서부터 아래로 실행된다는 점입니다
그래서 이 if문이 True라면 다음으로 넘어가지 않기 때문에 이 else if문이 True가 될 수 없는 것입니다
그것이 코딩의 로직입니다
그런 이유에서 (위 코드가 True인 경우) 이 코드가 절대 실행되지 않습니다
이것도 마찬가지입니다
Else도 절대 실행되지 않습니다
그러므로 이곳의 age가 이 밑의 age도 실행할 수 있도록 해야 합니다
그렇기 때문에 제가 이전의 순서를 사용한 것입니다
그럼 어떻게 age가 40보다 크거나 같다는 내용도 여전히 적용되며 실행되도록 할 수 있을까요?
그건 예를 들어 이 18보다 크거나 같다는 조건을 &&(AND)로 제한함으로 가능합니다
이 &&는 이전에 Boolean(불리언) 조건을 살펴볼 때 본 적이 있습니다
자
그럼 age는 동시에 40보다 작아야 한다고 알리는 것입니다
그러면 이러한 이중 조건이 생겨납니다
한 편으로는 age가 18보다 커야 하지만 동시에 40보다 작아야 하는 것입니다
이런 식으로도 할 수 있습니다
이것을 다시 실행해 보겠습니다
이제 120을 입력해 보면 나이가 너무 많다는 문구가 보입니다
그러면 이제 성공적으로 이 else if문으로 넘어가는 것입니다 왜냐하면 위 조건이 성사되지 않았기 때문입니다
120일 경우 18보다 크면서 40보다 작지는 않기 때문입니다
40보다 큽니다 즉 120〉=40은 True이고 이 라인이
실행됩니다
그리고 이 〉=40에 40도 포함됩니다
그러니까 〉=을 사용할 때는 그 숫자도 포함됩니다
Same goes for lower or less equal than the number is also included.
자
그럼 여기도 마찬가지입니다
이 조건에 18이 포함되어 있는 것입니다
그리고 경고 메시지가 떴는데 범위 확인을 사용해야 한다는 내용입니다
그러니까 age 〉=18 && 〈40 대신 범위 확인을 사용하면
age 18〈=... 〈=39가 보입니다
18과 39를 포함으로 18에서 39까지를 말하는 것입니다
만약 age가 그 숫자들 중 해당된다면 이 코드가 실행될 것이고
그게 아니면 이 조건이 True인지 확인해 보고 실행할 것이며 그것도 아니라면 마지막 것을 실행합니다
이런 식으로 if, else if와 else를 사용하는 것입니다
원한다면 else if문을 더 추가할 수도 있습니다
그리고 이에 관련된 간단한 연습 과제를 드릴 예정입니다
하지만 지금은 전반적인 개념만 이해하시기 바랍니다
그럼 다음 영상에서 뵙겠습니다