본문 바로가기
Computer Science/IT트렌드, 역사

코딩이란? 개념, 기초 문법, 배워야 하는 이유

by 코듀킹 2023. 4. 1.

코딩이란?

💡 코딩의 개념은 컴퓨터에게 시키고 싶은 작업들을 문서형태로 작성하여 명령하는 것입니다. 
 
우리가 카페에서 처음으로 알바를 시작한다고 가정해보겠습니다. 그런데, 출근 첫 날 일을 가르쳐줄 매니저가 출근을 하지 않았어요. 그러면 일을 배운 적이 없어서 이제부터 어떤 일을 어떻게 해야하는지 전혀 모르겠죠? 하지만 이 카페는 매니저가 출근을 하지 않아도 출근 첫날 일을 바로 혼자서 할 수 있는 프로세스를 만들어놓았습니다. 그것은 바로 '매뉴얼'이었죠. 커피머신 조작법, 가장 먼저 해야하는 일, 컵들의 위치 등을 전부 다 세세하게 적어놓았습니다. 누구나 알아먹을 수 있게 말이죠. 그 덕분에 매뉴얼만 보고도 일을 척척 해낼 수 있게 되었어요.
 
그렇습니다. '코딩'을 한다는 것은 '매뉴얼'을 작성하는 일과 같습니다. 첫 출근한 신입이 매니저의 도움없이 '매뉴얼'만 보고도 바로 일을 척척해낼 수 있는 것처럼, 우리는 컴퓨터가 해석할 수 있는 언어로 '매뉴얼'을 작성하여 컴퓨터에게 해야하는 일을 알려주는 것이죠. 컴퓨터는 안타깝게도 우리가 사용하는 일상적인 언어를 알지 못합니다. 따라서, 우리는 번역을 해주어야하는데요. 한국말을 영어로 바꾸어서 외국인과 대화하듯이, 사람의 언어를 C언어, 파이썬, 자바 등의 컴퓨터 언어로 바꾸어서 명령하고 싶은 매뉴얼을 작성해주는 것이죠. 이렇게 작성된 명령을 '코드'라고 부르고, 그 명령을 작성하는 행위를 '코딩'이라고 합니다.
 

코딩이란

 
 

코딩의 기초 문법

위에서 코딩이란 무엇인지, 그 개념에 대해서 알아보았습니다. 이제 코딩의 기초 문법을 알아볼건데, 위의 예시로 이어나가보겠습니다. 매니저가 신입을 위해서 열심히 매뉴얼을 작성합니다. 하지만, 무언가 위기 상황이 많이 닥칠 것같다는 걱정이 들기 시작합니다. 그래서 위기 상황에 대처하는 방법까지 작성을 해놓았어요. 자, 여기까지의 과정을 컴퓨터로 코딩 작업을 한다면, 어떤 과정이 이루어지는 걸까요? 간단하게 2가지 문법을 설명드리면서 이 과정을 설명해볼게요.
 

1. 변수

커피의 종류에는 아메리카노도 있고, 바닐라라떼도 있고 등등 여러가지 음료들이 있겠죠? 그리고 그 음료들에 대한 레시피가 필요합니다. 예를 들어 아메리카노는 에스프레소 2샷과, 물 300ml이 필요하다고 가정해보겠습니다. 그리고 바닐라라떼는 에스프레소 1샷과 우유 300m가 필요하다고 가정해볼게요. 이 때 '에스프레소 1샷'이라던가, '물300ml', '우유300ml' 이러한 재료들이 거의 모든 음료 레시피에 반복적으로 들어가다보니 이걸 일일히 다 적는게 매우 귀찮아졌습니다. 그래서 편의상 '에스프레소 1샷'은 'a'라고 쓰기로 했고, '물300ml'는 'w', '우유300ml'는 'm'이라고 적기로 했습니다. 그리고 따로 표시를 해놓았죠. 여기에서 a, w, m 을 '변수'라고 부릅니다. 즉, 변할 수 있는 값을 뜻합니다. 변할 수 있는 값인 이유는 컵 크기에 따라 1샷에서 2샷으로 물 300ml에서 500ml로 바꿔야 하는 상황이 생길 수도 있기 때문이죠.
 
자, 그럼 컴퓨터 이야기로 넘어와보겠습니다. 위에서 다뤘던 변수를 컴퓨터가 해석할 수 있게 작성해보겠습니다.
 

ex) 변수 설정
a = '에스프레소 1샷, '
w = '물 300ml'
m = '우유 300ml'
americano = a + w
vanilla_latte = a + m

 
'a'라는 변수에 '에스프레소 1샷'이라는 값을 넣었고, 'w'라는 변수에 '물 300ml'라는 값을 넣었고, 마지막으로 americano라는 변수에는 다시 a와 w라는 변수를 넣어서 또 다른 변수를 만들어냈죠. 실제로, '파이썬'이라는 언어를 사용하면 위에서 작성한 변수를 지정하는 명령어를 철자 그대로 복사해서 붙여넣기 하면 사용이 가능해집니다.
 

파이썬 언어로 작성한 코드 실행 결과. print라는 출력문을 통해서 변수값을 출력할 수 있다.

 

2. 조건문

이렇게 레시피를 알려주었지만, 그래도 불안하죠. 그래서 위기 상황 대처를 위한 방법을 작성해놓아야겠다고 결심합니다. 예를 들어서 만약에 우유가 다 떨어졌다면, 손님에게 죄송하다고 말하면서 대신 아메리카노를 권하고, 서비스로 10번 도장을 찍으면 바닐라라떼를 무료로 마실 수 있는 쿠폰 2장을 주게끔 대처법을 작성하는 식이었죠.
 
컴퓨터로도 이렇게 상황에 따라 달라지는 부분들을 코드로 작성할 수 있습니다.
 

ex) 예외 상황 대처방법 제시
coupon = 100 #매장에서 가지고 있는 쿠폰 수
m = 0
if m == 0:
  print("죄송합니다. 재료가 다 떨어졌는데, 아메리카노는 어떤가요?")
  coupon = coupon - 2
else:
  print("주문 접수되었습니다. 감사합니다.")


위 코드를 해석해보겠습니다. 우선 매장에서는 쿠폰을 100개를 가지고 있습니다(coupon=100). 만약에 우유가 다 떨어지면(if m==0), 사과하며 아메리카노를 권하고, 쿠폰 2장을 서비스로 줍니다(coupon = coupon - 2). 쿠폰을 2장 주었기 때문에 쿠폰이라는 변수가 100에서 98로 값이 변화했습니다(coupen = 98).  그리고 만약 우유가 0이 아니라면(else), 주문이 접수되었고, 감사하다고 인사합니다. 
 

우유가 다 떨어졌을 때(m=0), 파이썬 코드를 실행시키면? (m=1로 설정하고, 실행시키면, "주문 접수되었습니다. 감사합니다."가 출력됨)


코딩을 배우면 어떤 것을 할 수 있을까?

코딩을 배우면, 웹개발, 게임 제작, 업무 자동화, 데이터 분석, 앱개발 등등 굉장히 다양한 분야에 활용을 할 수가 있습니다.
 
우리는 4차 산업혁명 시대, AI시대 속에 살고 있습니다. 챗GPT가 나오면서 더더욱 기술의 필요성이 피부로 와닿고 있죠. 챗GPT는 코드를 작성해달라고 하면, 무섭게도 진짜로 다 작성을 해줍니다. 근데, 그 코드가 제대로 된 코드인지 아닌지 판별을 할 수가 없다면, 그 코드는 사용할 수가 없겠죠? 그래서 요즘엔 창조하는 능력보다 오히려 질문하고, 해석할 수 있는 능력이 더 필요해지고 있는 시기입니다. 그래야 챗GPT같은 기술을 이용해서 내 업무나 사업 등에 적용하여 활용을 할 수가 있으니까요.
 
그래서 현재 이러한 IT시대에서는 더더욱 코딩을 반드시 배워야한다고 생각합니다. 내가 직접 코딩을 하기 위해서라기보다는 내가 업무나 사업을 효율적으로 운영하기 위해서 컴퓨터에게 적절한 질문을 던지고, 그 질문을 해석하고 수정 및 보안하여 적용하기 위해서이죠. 이를 요즘에는 프롬프트 엔지니어라고 부릅니다. 요즘 떠오르고 있는 직종 트렌드이죠.
 
 
 

마무리

여기까지 코딩이란 무엇인지에 대한 개념과 기초 문법을 살펴보았습니다. 정말 유치원생, 초등학생도 이해할 수 있게끔 최대한 쉽게 설명을 해보았는데, 도움이 많이 되었으면 좋겠습니다. 남녀노소 누구라도 하루라도 빨리 코딩을 시작하시길 바라며, 글을 마치겠습니다. 이상 코듀에듀킹, 코듀킹이었습니다. 감사합니다. 

댓글