프로그래밍 기초

02. 프로그래밍에 필요한 전산지식 4탄 - 제어문

** 이프로 ** 2023. 12. 28. 09:44

안녕하세요.

콤퓨타 학원에 원장을 하고 있는 이프로입니다. 헤헴 ^^

은행은 영어로 뱅크라고 하조. 뱅크의 뜻을 아시나요?

원래는 둑이나제방같은걸 말하는데요. 우리가 현재 이야기하는 은행의 뜻과는 다르조.

은행(뱅크)라는 말은 돈에 흐름을 제어 한다는 뜻에서 유래됐다고 합니다.

(제가 알고 있던 이야기는 푸는건데 잘못된거면 말씀주세요.)

우리가 하려는 프로그래밍도 하나의 흐름을 가지고 있습니다.

예전 글에서 바구니에 감겨진 사과의 수를 셀때 세는 방법을 단계별로 이야기드렸고 이걸 컴퓨터에게 일을 시킬때에 대해서 간단하게 이야기 드렸습니다.

이처럼 프로그래밍에 흐름이 있는데 이 흐름에 내가 원하는 방향으로 제어를 해주어야 제가 원하는 결과물을 얻을수 있을겁니다.

이렇게 프로그램에 흐름을 제어하는 제어문이 존재하는데요. 그중에 대표적인 제어문들을 소개하고자 합니다.

 

그럼 시작하겠습니다.


 

조건문

조건문은 하나의 조건을 주고 결과가 참(True)과 거짓(False)에 따라서 프로그램을 어떻게 흘려보낼지를 결정하는 방식입니다.

그래서 조건문에는 항상 조건이 들어가고 조건이 항상 참 또는 거짓 둘중 하나나 들어가게 되어 있습니다.

참과 거짓 둘중 하나의 결과를 가지고 처리를 합니다. 항상 입니다. 무조건입니다.

프로그래밍을 조금이라도 해보신분이라면 아니라고 반박하시는 분들이 있을건데요.

옆가지 컴퓨터가 참과 거짓을 판별하는 방식에 대해서 이야기 해보겠습니다.

1. True => 참, False => 거짓

2. 0 => 거짓, 0이 아닌 값 => 참

 

3. 오브젝트에 메모리 주소가 할당 된경우 => 참, 오브젝트에 메모리 주소가 할당되지 않은 경우 => 거짓

3번은 조금 이해하기 힘든 부분이니 일단 넘어가겠습니다.

오브젝트라는 개념들을 익힌 후에 다시 기회가되면 이야기 드리겠습니다.

1번은 모르는 분은 없으실거 같고 2번의 경우도 조금만 생각해보시면 이해하실거 생각합니다.

컴퓨터는 0은 False로 나머지는 모두 True로 인식합니다.

그래서 조건문에 조건이 True, False값이 아니더라도 True, False 값으로 판단해서 처리를 합니다.

 

이부분은 좀 너무 간단하게 넘어 가시는 분들이 있는거 같아 이야기 드려보았습니다.

 

조건문으로 사용되는 키워드들은 아래와 같습니다.

1. if

2. else

3. else if

4. switch

대표적인 것들이고 프로그래밍 언어마다 조금씩 다를수 있습니다.

 

 

반복문

반복문은 비슷한 작업을 연속으로 작업을 해야하는 경우 사용합니다.

반복문에도 조건문과 같이 흐름을 제어해야 하기 때문에 조건을 이용해서 True, False를 기준으로 더 반복을 해야할지 아니면 반복을 중단해야할지를 결정을 하게 됩니다.

어떤 언어든 마찮가지조.

 

일반적인 프로그래밍 언어에서는 조건의 결과가 True면 반복을 계속하고 False면 반복을 중단합니다. 

그리고 반복중에 갑자기 중단을 해야하는 예외 상황에 따른 처리 방식이 항상 존재 합니다.

 

반복문으로 사용되는 키워드들은 아래와 같습니다.

1. for

2. while

3. loop

4. break

5. continue

6. return

대표적인 것들이고 프로그래밍 언어마다 조금씩 다를수 있습니다.

 

 

예외 처리

내가 만든 코드에 오류가 발생하면 컴퓨터는 어떻게 할까요?

대표적으로 두가지가 있는데요. 프로그램이 즉지 종료 되버리거나 프로그램이 멈춰 먹통이 되버립니다.

하지만 프로그래머는 신이 아닙니다. 오류에 대한 모든 예외 상황을 모두 대처해 놓을수 없습니다.

그렇기 때문에 내가 작업한 코드에 일정 영역을 지정하고 해당 영역에 오류가 발생하게 되면 어떻게 처리를 하겠다라는 명시적인 오류에 대한 예외 처리를 할수 있습니다.

그렇게 예외처리를 해줘야만 프로그램을 진행하는데 중대한 오류가 아니면 간단하게 넘긴다거나 오류가 발생했을때 별로로 오류 내용을 기록해 놓고 기록내용을 보고 프로그램을 수정한다거나 할 수 있습니다.

예외 처리는 정말 많이 사용하지만 몇몇 프로그래머들은 사용하지 않는 분들이 있는데요.

지금 이 글을 보시는 분들이라면 지금이라도 예외처리에 대해서 공부를 하시고 프로그래밍을 할때 꼼꼼히 넣는 연습을 하셨으면 합니다.

 

예외 처리로 사용되는 키워드들은 아래와 같습니다.

1. try

2. catch

3. finally

대표적인 것들이고 프로그래밍 언어마다 조금씩 다를수 있습니다.

 


대표적인 프로그램 흐름을 제어하는 부분에 대해서 이야기를 하였는데요.

이쯤에서 한번 더 상기 시켜 드리고자하는 것이 있습니다.

프로그래밍은 프로그래밍 언어 자체를 많이 아는 것은 아니라고 생각합니다.

얼마나 개념적으로 이해하고 이런것들에 필요한 이유가 무었이고 부터 고찰해나가야 한다고 생각합니다.

내가 개발한 코드가 아닌 다른 사람이 개발한 코드더라도 코드 하나하나가 의미를 부여하고 있는데

그 의미를 파악하려 하지 않는 사람들은 많이 보아왔습니다.

의미를 아는분과 모르는 분들의 실력 차이는 정말 어마어마 하다고 생각하고 있습니다.

꼭 별것 아닌거 같지만 차근차근 이런부분을 쌓아 가신다면 여러분들도 대기만성형 프로그래머가 될 거라 생각합니다.

 

 

이글은 여기까지 입니다.

여러분들의 관심과 사랑이 있다면 좀 더 좀은 컨텐츠를 제공해줄 수 있을거 같습니다.

많은 관심과 사랑 부탁드립니다.

 

감사합니다.

그럼 콤빠~