웹에플리케이션 만들기 – JS, PHP 프로그래밍 8 : 조건문

지금까지 우리가 이런 저런 프로그램과 관련된 것들을 살펴봤는데요 지금부터 배우는 내용은 굉장히 중요한 부분이에요

앞에서 우리가 배웠던 것들은 어떻게 보면 계산기에도 있는 기능입니다 그런데 지금 우리가 배우는 이 조건문이라고 하는 것부터는 정말로 컴퓨터 영역이라고 할 수 있는 부분으로 접어들고 있는 거예요 조건문이라는 것은 어떠한 이 상황에 따라서 이렇게도 되고 저렇게도 되는 겁니다 어떤 조건에 따라서 컴퓨터가 이렇게도 동작하고 저렇게도 동작하게 하는 것이 바로 조건문입니다 그래서 Javascript와 php의 조건문은 거의 똑같아요

사실상 똑같습니다 문법을 한 번 살펴보면 조건문은 이렇게 if로 시작합니다 if로 if가 나오면 프로그래밍 언어를 해석하는 엔진들은 웹브라우저나 또는 php 엔진 둘 다 마찬가지로 “아, 이제부터 조건문이 나오겠구나” 라고 예측하게 되는 거죠

그 다음에 여기보시면 중괄호가 있습니다 중괄호 아니, 괄호죠, 괄호 괄호와 괄호 사이에는 어떤 값만이 올 수 있냐면 true와 false 둘 중의 하나만 올 수 가있어요 둘 중의 하나

참이냐, 거짓이냐 둘 중의 하나만 올 수 있어요 그 다음에 중괄호가 이렇게 나오고요 그리고 중괄호가 또 나오는데요 이 중괄호와 중괄호 사이에 있는 이 구간에는 구간에 있는 어떠한 코드는 바로 이 부분이 true인 경우, true인 경우에 여기가 실행이 되고요 만약에 if문 안에 if문 뒤에 있는 괄호에 어떤 값이 false라고 한다면 그러면 else 뒤에 따라 오는 중괄호 사이에 있는 이 구간이 실행되도록 약속되어있습니다

그리고 이런 약속은 거의 모든 프로그래밍 언어가 다 비슷비슷합니다 직접 한번 살펴보겠습니다 실습 파일을 하나 만들어주세요 6php요

이제부터는 실습 파일을 만드는 얘기는 제가 만드는 과정을 생략하겠습니다 이렇게 우리가 실습을 할 수 있는 파일을 준비했어요 script와 php 명령이 들어가는 구간까지 이렇게 만들어놨습니다 우선 Javascript에서 조건문을 먼저 사용을 해볼게요 if 그리고 중괄호에는 true 아니면 false 둘 중의 하나만 올 수 있다고 했죠? true라고 하고 그리고 document

write 그리고 참이라고 한 다음에 이것을 실행해보죠 6php 어때요? 여기에 참이라고 표시가 되는 것을 볼 수 가 있죠? 아주 중요한 내용입니다 보시는 것처럼 if 화면을 좀 키우죠

여기에 if라고 되어있는 것 보이시죠? if가 나타나면 이제 그 Javascript를 해석하는 웹브라우저는 이제 조건문이 나오는 구나 그리고 여기에 어떤 값이 들어있어요? true 죠? 제가 아까 제가 저번 시간에 비교의 결과는 true 아니면 false라고 했죠? 여기다가 여러분이 직접 true라고 써도 됩니다 그런데 여기다가 따옴표 같은 거를 하면 문자가되니까 안되죠 true 그 다음 중괄호가 이렇게 있고 중괄호가 이렇게 있어요 그런데 여기의 값이 true이기 때문에 첫 번째 중괄호에 있는 이 부분이 실행이 돼서 그 결과가 여기에 출력되고 있는 겁니다

만약에 저기에 있는 true를 false로 바꾸면 그 결과는 없죠 왜냐하면 얘가 false 기 때문에 이 구간이 실행되지 않았기 때문입니다 만약에 이런 상황에서 참이면 어떤 것을 실행하고 거짓이면 다른 것을 실행하게 하도록 할 수 있어요 그때 사용하는 것이 else 입니다 이걸 다시 true로 바꿔볼게요

true 그리고 else 안쪽에 있는 부분은 false 로 이렇게 바꿔보겠습니다 그리고 실행을 하면 보시는 것처럼 참이 나왔어요 왜 그럴까요? 여기가 true기 때문에 이 구간이, 이 구문이 실행이 된 거죠 만약에 얘를 false로 하면 어떻게 될까요? 예상해보세요 거짓이 나옵니다

아시겠죠? 그러면 조금 더 개선된 예제로 저기 true, false 라고 저렇게 적어 놓은 것은 아무런 의미가 없어요 왜냐하면 if문 조건문이라는 것은 상황에 따라서 이렇게도 동작하고 저렇게도 동작하게 하는 건데 지금 여기는 상황이 고정돼 있잖아요 true 나 false 라고 딱 박혀 있잖아요? 물론 지금도 고정돼있는 상황이긴 합니다 이렇게 하면 이 결과는 뭐에요? 이 만큼이 true 이기 때문에 얘는 참이 됩니다 그리고 얘가 2라면 이 만큼은 false가 되기 때문에 얘는 거짓이 출력됩니다

됐죠? 여전히 이 부분은 고정된 상태에요 저 부분은 고정되지 않은 상태로 바꾸려면 저기에다가 우리가 변수를 넣어주면 되겠죠? 예를 들면 result 라는 이름의 변수를 넣어주겠습니다 위에 있는 result 는 아무 이름이나 쓰셔도 상관없는 거예요 result 라는 변수 이름을 쓰고요 아이고

이렇게죠? 달러는 php에서 그리고 result 에다가 result = 1 이렇게 하면 좀 보기 편하겠죠? 이렇게 해주면 어떻게 될까요? 우리가 컴퓨터가 되서 실행시켜보죠 괄호 안에 있는 게 먼저 실행이 되잖아요? 수학처럼 여기 있는 게 실행이 되면 얘는 결과가 true 그러면 이 true 라고 하는 결과가 이 =(이퀄)로 인해서 result의 값이 되면 result는 이제 true의 값을 갖게 됩니다 얘가 true기 때문에 참을 출력하겠죠? 한 번 실행을 시켜볼까요? 실행 결과는 참입니다

어때요? 보시는 것처럼 여기 있는 이 영역은 이제 우리가 더 이상 신경 쓸 필요가 없는 영역이 됐어요 왜냐하면 result 에 따라서 참이 될 수도 있고 거짓이 될 수도 있으니까 그럼 이제 우리는 이 result 값을 결정하는 이 부분에만 집중을 하면 되는 상황이 됐다는 거죠 만약에 여기에 있는 값이 2라고 한다면 거짓이 되겠죠? 한 번 잘 따져 보세요 자 이번에는 php를 살펴보죠

보시는 것처럼 제가 php 코드를 추가해놨습니다 왜냐하면 Javascript나 php나 사고의 흐름은 같기 때문에 그냥 문법만 살짝 확인해보면 되는 거예요 지금 보고 계신 이 내용은 위에 것과 동일하기 때문에 실행을 하면 Javascript랑 똑같은 결과가 화면에 출력이 되어야 합니다 거짓이 출력이 됐죠? 그리고 여기에 있는 1이 2라고 한다면 어떻게 되겠어요? 참이 출력이 될 겁니다 아시겠죠? 보시는 것처럼 이 Javascript와 php는 굉장히 닮아있어요

그런데 그게 Javascript와 php만 닮아있는 게 아니라 C나 Java나 뭐 C#이나 이런 많은 언어들이 문법이 거의 비슷하거나 아니면 다르다고 하더라도 이런 개념적인 측면, 조건문이라고 하는 그 개념 자체는 모든 언어가 다 가지고 있다고 보시면 됩니다 그래서 하나를 알면 열이 아니라 백 개를 아는 걸 수도 있어요 아시겠죠? 다음 시간에는 조건문에 대해서 조건문을 이렇게만 살펴보는 것은 너무 추상적인 얘기고요 이거를 조금 활용해서 조금 더 실용적인 예제를 한 번 간단하게 만들어 보겠습니다