“코딩을 배우고 싶은데 수학을 못해도 괜찮을까요?”라는 질문을 종종 듣는다. 앱 개발을 결심한 담당자나 기획자라면 한 번쯤 품어봤을 고민이다. 복잡한 수식과 낯선 영어 단어 사이에서 막막함을 느끼는 것은 어쩌면 당연하다. 하지만 실제로 개발의 첫 관문은 미적분도, 행렬도 아니다. 단지 데이터를 담는 그릇과 그 그릇을 다루는 몇 가지 규칙만 이해하면 된다. 이 글을 읽는 독자가 마치 일기장 앱을 만든다고 상상해보자. 하루의 기록을 저장하고, 감정을 분류하고, 특정 날짜의 글을 꺼내 보는 과정을 따라가다 보면 어느새 변수, 함수, 조건문의 쓰임새가 머릿속에 자리 잡을 것이다.
첫날의 혼란은 대개 어디서부터 시작해야 할지 모른다는 데서 온다. 개발 도구를 설치하고, 화면을 만들고, 데이터를 저장하는 일까지 모든 것이 동시에 요구되는 듯 보인다. 그러나 핵심은 단순하다. 프로그램이란 결국 입력을 받아 처리하고 출력하는 거대한 파이프라인이다. 그 파이프라인의 가장 작은 구성 요소가 바로 ‘변수’다. 일기장 앱을 예로 들면 오늘 작성한 글의 제목, 날짜, 본문 내용, 기분 상태가 각각 하나의 변수가 된다. 변수는 이름표가 붙은 상자와 같아서, 우리는 그 상자에 값을 넣고 필요할 때 꺼내볼 수 있다. 여기서 중요한 것은 변수의 이름을 명확하게 짓는 습관이다. 예를 들어 ‘d’라고 이름 지은 변수보다 ‘diaryDate’라고 이름 지은 변수가 나중에 훨씬 알아보기 쉽다.
변수를 선언했다면 이제 이 변수들을 어떻게 활용할지 생각해야 한다. 앱에서 특정 날짜를 선택하면 그 날짜에 작성한 일기가 화면에 나타나야 한다. 이때 사용하는 것이 바로 ‘조건문’이다. 조건문은 마치 분기점과 같아서, 주어진 조건이 참인지 거짓인지에 따라 실행할 코드를 다르게 만든다. 사용자가 2025년 7월 10일을 탭했다고 가정하자. 앱은 모든 일기 데이터를 뒤져서 날짜 변수의 값이 ‘2025-07-10’과 일치하는 항목을 찾는다. 만약 일치하는 항목이 존재하면 그 내용을 화면에 표시하고, 존재하지 않으면 “작성된 일기가 없습니다”라는 빈 화면을 보여준다. 이 두 갈래의 흐름을 정리하는 것이 바로 조건문의 역할이다. 별것 아닌 것 같지만, 이 분기 처리가 제대로 되지 않으면 앱은 며칠 전의 일기를 오늘 일기처럼 잘못 보여주는 오류를 일으킨다.
이제 세 번째 개념인 ‘함수’를 살펴볼 차례다. 함수는 특정 작업을 수행하는 코드 블록이다. 일기장 앱에는 ‘일기 저장하기’, ‘일기 불러오기’, ‘일기 삭제하기’ 같은 기능이 필요하다. 이 기능들을 각각 하나의 함수로 만들어두면 코드는 훨씬 깔끔해진다. 예를 들어 저장하기 함수는 사용자가 입력한 제목과 내용을 받아서 변수에 담고, 이를 저장 공간에 기록하는 일을 한다. 함수를 사용하는 가장 큰 장점은 같은 코드를 여러 번 반복해서 쓰지 않아도 된다는 점이다. 특정 날짜의 일기를 불러오는 함수를 한 번 정의해두면, 어떤 화면에서든 그 함수에 날짜 값만 전달하면 결과를 얻을 수 있다. 함수는 마치 자주 쓰는 도구를 정리해둔 서랍과 같아서, 필요할 때마다 서랍을 열어 꺼내 쓰는 것이다.
하루 혹은 일주일 만에 이 세 가지 개념을 완벽히 익힐 필요는 없다. 단지 흐름을 파악하는 것이 중요하다. 초보자가 가장 먼저 하는 실수는 문법 하나하나를 암기하려고 애쓰다가 지치는 경우다. 실전에서는 구글에 검색하면 얼마든지 문법을 찾아볼 수 있으므로, 처음부터 외울 필요가 없다. 대신 어떤 상황에서 변수를 쓰고, 조건문과 함수를 어떻게 조합할지에 대한 사고력을 키우는 것이 더 중요하다. 일기장 앱을 만드는 과정은 이러한 사고력을 기르기에 아주 적합하다. 복잡한 비즈니스 로직이 없기 때문에 데이터 저장, 조회, 삭제라는 기본적인 패턴을 온전히 익힐 수 있기 때문이다.
개발을 처음 시작하는 담당자라면, 도구와 환경 설정에 시간을 빼앗기지 말자. 초기 세팅은 분명히 성가실 수 있으나 이 역시 코딩의 일부임을 인정하면 마음이 편해진다. 에러 메시지를 마주했을 때 좌절하지 않고, 에러를 읽는 법부터 배우는 것이 생산성을 높이는 첫걸음이다. 화면에 뜬 이상한 빨간 글씨들은 실패의 증거가 아니라 문제를 해결하기 위한 단서다. 이 메시지를 복사하여 검색하는 기술만 잘 익혀도 개발 속도는 크게 달라진다. 일상 생활 속에서도 같은 원리가 적용된다. 스마트폰의 특정 앱이 오작동할 때, 무작정 초기화를 하기보다 해당 앱의 로그를 살펴보거나 설정값을 확인하는 습관이 바로 디버깅의 시작이다.
결국 앱 개발의 첫 주는 특별한 재능이나 수학적 사고를 요구하지 않는다. 변수로 데이터를 담고, 조건문으로 상황을 나누고, 함수로 반복 작업을 묶는 세 가지 규칙만 잘 이해하면 된다. 이 개념들은 실제 일기장 앱을 단계별로 만들어가면서 자연스럽게 몸에 익는다. 이 글을 읽는 독자가 지금 당장 빈 종이에 오늘 하루를 기록할 일기장의 구조를 그려본다고 상상해보자. 어떤 내용을 저장할지, 어떤 버튼을 누르면 어떤 화면이 보일지. 그 상상 속에 이미 변수와 조건문과 함수의 설계도가 들어 있다. 개발자는 특별한 사람이 되는 것이 아니라, 이 설계도를 컴퓨터가 이해하는 언어로 옮겨 적는 사람일 뿐이다. 처음에는 서툴고 더디겠지만, 이 기본기를 바탕으로 조금씩 살을 붙여나가면 어느 순간 스스로 문제를 정의하고 해결하는 모습을 발견하게 될 것이다.