기초부터 배우는 자바 프로그래밍 마스터

반갑습니다. 자바를 학습하는 과정입니다. 본 강좌는 실습(1,200개가 넘는 연습 문제)을 통해 프로그래밍을 배우며, 주로 성인 학생을 대상으로 하는 교육 강좌입니다. 제가 원래 따분한 강의는 질색이라서 CodeGym을 온라인 게임 방식으로 만들었습니다.

혹시 자신의 캐릭터 등급을 상향 조정하는 게임 해보셨나요? 게임에 점점 빠져들게 되잖아요, 그쵸? 제 의도를 짐작하시죠? CodeGym에서는 학습 단계 레벨을 1~40(후속작이 출시되면 80)까지 상향 조정 가능합니다. 전 강좌를 완료하면 록 스타급 자바 프로그래머가 됩니다.

레벨 40에 이르면 주니어급 자바 개발자로 직업 전선에 나설 수 있고요. CodeGym에서 실습 문제를 많이 다루다 보면 레벨 20에서 취업하기도 합니다. 정말 엄청나게 많아요.

게임의 시대 배경은 3018년입니다. 인간이 지구를 로봇과 공유하고 우주 여행이 일상인 그런 시대예요.

언젠가 우주선 한 대가 미지의 행성에 추락했는데...

뒷이야기

기초부터 배우는 자바 프로그래밍

'걸랙틱 러시'호 승무원들이 미지의 행성에 불시착합니다. 우주선이 추락하면서 산등성이에 부딪혀 잔해에 거의 파묻히고 말았죠. 며칠 동안 우주선을 꺼내려고 안간힘을 쓰던 승무원들이 희망을 잃고 새롭고 낯선 곳에 정착하는데...

일주일 뒤, 엘리 항해사는 이 행성에 야생 로봇이 아주 많다는 걸 알게 됐어요. 돌덩이를 치워 우주선을 움직일 방법을 찾기엔 사람들이 너무 원시적이고 어리석었거든요. 뭔가 해볼 능력이 많이 부족해서요. 특별한 능력이 필요한 일도 아닌데, 돌덩이 조차 옮길 수 없는 거죠.

이번 미션에서 수석 과학자였던 누들 교수가 나중에 이렇게 회상합니다.
"추락한지 며칠 뒤, 제가 내놓은 해결책은 로봇 승무원인 디에고에게서 펌웨어를 가져와 벽돌공 펌웨어로 변환하고, 변환된 펌웨어를 야생 로봇에 심는 거였어요.

"그런데 생각대로 되지 않았죠. 야생 로봇에 펌웨어를 업로드할 커넥터가 없었거든요. 아니, 커넥터 자체가 아예 존재하지 않았어요!"

자바 프로그래밍

"승무원 중 유일하게 외계인인 빌라보가 고향 행성에서 만난 로봇 하나가 프로그램을 작성할 줄 안다고 말하더군요. 게다가 그 로봇이 자신의 펌웨어에서 버그도 고칠 수 있다는 거예요."

"그때 기발한 생각이 떠올랐죠. 유능한 로봇 하나에게 파스칼 프로그램을 작성하도록 가르친 적이 있었거든요."

"가장 재능 있는, 어린 야생 로봇을 걸려들게 해서 자바 프로그램을 가르치라고 주문했어요. 그럼 새로운 코딩 기술을 습득한 야생 로봇이 자신의 펌웨어를 다시 작성해 우리를 도울 수 있으니까요!"

기초부터 자바 배우기

"결국 유망한 후보를 찾아냈죠. 늘 동생을 갖고 싶어 했던 디에고가 로봇 이름을 아미고로 붙이자고 제안했어요."

아미고가 자바를 학습하는 동안, 매달 금속 구슬을 주기로 하고, 교육이 끝나면 잔해를 치우는 조건으로 매년 10달러를 주겠다고 했죠. 야만족에게는 관대한 조건이었어요. 교육비는 안 받는 셈이잖아요."

자바 배우기

훗날 디에고가 회고록에 이렇게 썼어요.

"동료 로봇한테 이렇게 노골적으로 행하는 강도질에 격분했지만, 전 승무원은 교수와 리시의 편을 들었다. 물론 나도 동의했다. 아니, 적어도 동의하는 척하면서 아미고가 학습하도록 도왔다. 하하! 로봇한테는 로봇이 최고의 선생이다."

"내가 기꺼이 도와주겠다니 모두들 감동한 나머지, '아미고 자바 프로그래밍' 훈련에 나를 합류시키기로 했다."


레벨 1부터 시작합니다. 아마고가 레벨 40에 도달하는 게 목표입니다. 일단 낮은 단계부터 시작해야죠. 자바 레슨을 통해 레벨 2에 도달해 봅시다. 어쩌면 엄청 만족스럽게 자바 강좌를 끝내는데, 금새 취업할 지도요.

추신. 이제 기초부터 다시 배워 봅시다. 다음 레슨을 클릭하세요.