ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <프로그래밍 공부 시작하기-5> 자바 공부 시작하기 <가장 간단한 프로그램, hello world>
    프로그래밍 2020. 3. 27. 10:16

    우여곡절 끝에 컴파일이란 것에 대해서 간단한 이해를 하였다. 이걸로 가장 간단한 프로그램을 만들기 위한 준비를 모두 끝냈다. 다음 장으로 넘어가니 hello world 라는 것이 나왔다.

     

    hello world 는 가장 간단한 프로그램이라고 할 수 있다. 이름도 아주 거창하다. '안녕 세상' 

    해당 언어로 작성하고 그 언어를 통해 첫 프로그램을 만들고, 그 프로그램이 처음 하는 말이 '안녕 세상' 이라는 뜻으로 쓰였을 것으로 추측한다.

     

    사실 나는 처음 자바기본서를 봤을때 프로그래밍을 배우고 싶은데 다짜고짜 hello world 를 작성해보라고 말하는 것 같은 내용을 별로 안 좋아했었다. 어떻게 할지 몰라 머뭇거리고 있는 사람한테 '아~ 일단 해봐, 해보면 알꺼야' 라고 말하는 것 같았다. 물론 그 방법도 일리가 있다. 하지만 개인적으로는 별로 좋아하지 않는다. 그 앞에 약간의 설명만 넣어주면 좋을 것 같다는 생각을 했다.

     

    우리는 컴파일이라는 것을 통해서 '자바' 라는 언어를 통해 컴퓨터에게 말할 것이고,

    컴파일러라는 통역사가 '자바' 를 컴퓨터가 이해할 수 있는 무언가로 바꿔주고,

    컴퓨터는 컴파일러가 주는 그 무언가를 통해 쓰여진 대로 실행한다.

     

    그렇다면 먼저 생각해볼 것은 우리가 무엇을 할 수 있을까?

     

    물론 가장 하고 싶은 건 머릿 속에 떠오르는 가장 멋진 어플리케이션을 생각하며 내 아이디어를 구현해보고 싶을 수도 있고, 회사에 채용되어 일하고 있는 모습이 떠오를 수 있을 것이다. 하지만 우리는 처음 단계니까 가장 간단한 것부터 시작해보자. 우리가 자바라는 언어를 통해서 컴퓨터에게 명령을 내려야 하는데 해볼 수 있는 가장 간단한 것.

     

    '화면에 글자를 보여줘봐'

     

    앞으로 컴퓨터에게 많은 명령들을 내릴 건데, 그 명령에 대한 대답을 들을 수 있는 가장 간단한 방법은 화면에 글자를 보여주는 것이다. 수화기를 통해서 상대방에게 지시를 내린다고 생각해보자. 여러가지 요구사항들을 말했는데 상대방이 아무런 말도 없다면? 상대방이 들었는지 안 들었는지 알 수가 없다. 마찬가지로 마치 수화기에 대고, 여보세요? 라고 말하면 상대방도 여보세요? 라고 말하듯이 우리가 컴퓨터에게 처음으로 가장 간단한 프로그램을 통해서 말을 걸면, 그 대답이 들려오는 지 확인할 것이다. 그리고 그것을 화면에 우리가 말하는 글자를 보여줘달라고 할 것이다.

     

    자 그럼 두번째 단계로 넘어가보자. 우리는 컴퓨터한테 글자를 보여달라고 말할 것이다. 예를 들어서 아까 말한 hello world 를 보여달라고 하는 것으로 치자. (다른 말을 사용해도 전혀 문제 없다)

     

    그럼 어떻게 보여달라고 해야하는 걸까?

     

    상상해보면, 엄청 쉬울 것 같기도 하고 엄청 복잡할 것 같기도 하다. 

     

    솔직하게 말하면 나도 모른다.

     

    모른다고 ??? 네 모릅니다. 정확히 말하면 정확히 모릅니다.

    물론 아는 분들도 많겠지만 나는 모른다. 다만 내가 알고 있는 것은 그것 또한 굉장히 복잡한 과정이고, 그 복잡한 과정을 자바라는 언어를 통해 간편하게 쓸 수 있다는 것이다. 마치 운전을 할 때 엑셀을 밟으면 앞으로 나간다는 것만 알지, 엔진이나 그 안의 과정들은 모르는 것처럼 말이다.

     

    자바라는 언어는 '화면에 문자를 출력해봐' 라는 명령을 아주 간편하게 할 수 있도록 제공한다. 아 그리고 다들 너무 잘 알겠지만 거의 모든 프로그래밍 언어는 영어다. 왜 영어가 대부분인지는 수많은 역사를 통해 추측이 가능할 것이다. 이건 뭐 그렇다고 치고, 그럼 당신이 자바 개발자라면 가장 간편하게 화면에 출력하는 명령어를 사용자들이 쓰기 쉽게 만들어 주려고 한다. 그럼 어떤 단어를 사용할까?

     

    여기서는 'print' 라는 단어를 사용한다.

    그리고 print 뒤에 출력하고 싶은 말을 쓰면 된다. 

    그리고 혹시 헷갈릴 수 있으니까 출력하고 싶은 말은 괄호를 쳐주자.

     

    print("hello world")

     

    끝이다. 이렇게 당신은 자바를 통해 컴퓨터에게 말을 할 수 있게 되었다.

     

    그럼 여기서 한가지만 더 넘어가서 생각해보자. 아마도 여기까지 쉽게 이해했다면 다음 스텝도 충분히 쉽게 이해할 것이다. 자바라는 언어가 '화면에 출력해봐' 라는 명령 말고 얼마나 많은 명령을 쓸 수 있게 해놨을까? 역시 나도 정확히 모르지만 정말 수많은 명령어들이 있을 것이다. 그 때문에 수많은 명령을 구분하고 정리하는 방법이 필요했다.

     

    지역 주소 중에 부산에도 '남구' 라는 구가 있고 인천에도 '남구'가 있다는 사실을 알고 있을 것이다. 우리는 '남구' 라는 말을 들었을 때 정확히 어디인지 확인하기 위해 '부산시 남구' 또는 '인천시 남구' 라는 말을 쓴다. 마찬가지로 자바에서도 각각의 명령어에 주소처럼 부여를 해놓은 것이 있다.

     

    System.out.print("hello world")

     

    어떤 느낌인지 대강 알 것이다. '대한민국.인천시.남구' 처럼 print 라는 명령어가 System 과 out 하위에 있는 것이다.

    그럼 한 가지 걱정이 들 수도 있다.

     

    와 그렇게 명령어가 많으면 그걸 어디에 있는지 무엇이 있는지 하나하나 다 외워야 하나요?

     

    별 신경 안 써도 된다. 미리 알아야 할 건 많지 않다. 물론 필요한 경우도 있지만 그때그때마다 찾아서 사용하면 된다. 우리한테 여기서 필요한 것은 그냥 저렇게 쉽게 컴퓨터에게 "말해봐!" "문자를 보여줘봐!" "문자를 출력해봐" 라고 말할 수 있다는 것이다.

     

    우린 이렇게 가장 간단한 프로그램을 만들 수 있게 된 것이다.

    System.out.print("hello world")

     

    이게 끝이라고? 싶을 수 있지만 맞다.

    이런 것들이 모이고 모여서 복잡한 프로그램이 된다. 벽돌 하나 놓는 법을 배웠을 뿐이다. 벽돌을 여러 개 놓으면 그것이 집이 될 수도 있고 다리가 될 수도 있다.

     

     

     

     

    반응형
Designed by Tistory.