누구든지 쉽게 배우는 자바프로그래밍 - 1[프롤로그]

in #kr8 years ago (edited)

안녕하세요! 개발자를 목표로하는 취준생 @kimty입니다.
오늘의 포스팅 주제는 앞서 가입인사에서 말했듯이
첫번째 주제로 포스팅할 JAVA Programming에 대해서 조금이나마 설명을 하고자 합니다.
포스팅의 기준은 비전공자인 제 친구가 쉽게 이해 할 수 있게 작성할 것입니다.
우선 JAVA Programming을 시작하기에 앞서
자바가 무엇인지 프로그래밍이 무엇인지에 대해서 알아보도록하겠습니다.

JAVA는 수많은 프로그래밍의 언어의 한종류로써 나무위키에서는
"썬마이크로시스템즈에서 1995년에 개발된 객체 지향 프로그래밍 언어로써
2010년에 썬이 오라클에 인수되어서 현재 저작권자는 오라클이다" 라고합니다.
다운로드.png

벌써 세줄의 설명에서 익숙하지 못한 단어가 나와버렸습니다. 객체지향언어.....
이 객체지향언어라는것은 나중에 '클래스'라는 주제로 포스팅할때 설명해 보이도록하겠습니다.
그냥 아~~자바는 객체지향언어이구나~ 라고 기억하시면 될 것입니다.

그렇다면! 도대체 왜? "자바"라는 프로그래밍언어가 1995년에 개발되어서 최근에서야
프로그래밍언어들 중에서 이슈가 되었는지 알아보겠습니다.

첫째,java는 가독성이 뛰어나다!

자바는 C,C++과는 다르게 사람이 적당히 읽고 쓸수있을
만한 언어(자연어)들로 코딩을 하게됩니다.
딱히 컴퓨터관련 전공을 하지않아도 어느정도 소스코드를
읽을 수 있으며 또 작성할 수도 있습니다.
캡처.JPG

둘째,java는 확장성이 용이하다!

확장성이 용이하다? 비전공자분들이 이 문장을 보게되면
가장먼저 머릿속에 물음표가 나타날 것입니다.
Java라는 언어는 다른 언어들과는 다르게
JVM(Java Virtual Machine)이라는 가상머신에서 돌아가게 됩니다.
이러한 장점으로 어떠한 기기에도 java로 개발한 프로그램은
이 JVM만 갖다붙인다면 전부 똑같이 돌아간다는 것입니다.

아직도 이해가 안되신다구요? 그렇다면 가상화폐와 비교를 해볼까요?
한국,일본,미국,필리핀 등등 각 나라의 음식점에서 음식을 사먹는다고 생각해보겠습니다.
원래대로라면 한국에선 원화로 계산을 해서 음식을 사먹어야하고,
일본에선 엔화,미국에선 US달러,필리핀에선 페소로 계산을 해야 할것입니다.
하지만 그 가계들에선 가상화폐로 계산을 할수있다고 한다면 환전을 하지않고
가상화폐로 계산을 해 맛있는 음식들을 사먹을 수 있을 것 입니다.
즉,자바 이전까지의 프로그래밍언어(C,C++등)들은 각기다른 운영체제나
기기들(윈도우,리눅스 등등)에 대해 그에 맞는 프로그래밍(환전으로비유)을 해야했지만
java는 JVM(가상화폐로비유)이 있기 때문에 확장성에 용이하다는 것입니다.

KakaoTalk_20170616_174152038.jpg
셋째,java는 배우기가 쉽다!

첫번째에도 말했듯이 자바는 사람이 사용하는언어와 가깝게
소스코딩으로 이루어저있기 때문에
비전공자 분들도 배우기가 쉬울 것입니다.
또한 기존의 프로그래밍(C,C++)과는 달리 메모리관리가 JVM이라는 가상머신에서
전부 이루어 지기때문에 개발자 개개인이 메모리에 대해 생각할 필요없이 코딩을
할 수 있을 것입니다.
이 역시 컴퓨터메모리구조에 대해 알지못하는(비전공자) 분들도 쉽게 접근 할 수 있겠죠?

다운로드 (1).png

지금까지 java프로그래밍이라는 언어를 간단하게나마 소개를 해보았습니다.
다음 포스팅은 자바 개발환경 구축에 대해 알아보겠습니다.

지금까지 개발자를 목표로하는 취준생 @kimty였습니다. 감사합니다!

※※
https://steemit.com/kr/@kdj/kr-dev

@kdj님께서 kr-dev에 관련하여 제안을 해 주셨습니다.

kr-dev 에 올렸으면 하는 글은...

개발 관련 지식들
자기가 현재 개발하는 내용
개발 관련 에세이
창작/아이디어/컨텐츠
창업/ 리쿠르팅

이라고 합니다!
kr-dev 커뮤니티가 많이 활성화되었으면 좋겠습니다!

Sort:  

안녕하세요. 프로그래머를 꿈꾸는 학생입니다.

안녕하세요! 저도아직 많이부족하지만 앞으로의 포스팅으로 많은 도움이 되었으면 좋겠습니다!

응원합니다!!

감사합니다!

기대되네요^^

감사합니다!!

앞으로 올라올 포스팅들도 기대가 되네요. 좋은 글 많이 써주세요!

넵! 열심히하겠습니다!

Welcome to hell.

하하...선배개발자님 잘부탁드리겠습니다!

Congratulations @kimty! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honnor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

잘 보겠습니다.
자바 단점도 잠깐 언급하면...

  1. 너무 많이 타이핑 해야한다. Phone phone = new Phone(...);
    IDE 도구의 도움으로 어느정도 해결이 되지만, 코드량이 다소 많은 것은 사실입니다.
  2. 함수형 프로그래밍을 하기가 좀 어려운 편이다. Java8 에서 도입된 stream future 라이브러리가 있기는 하나, 차라리 scala를 쓰고 맙니다.

자바의 장점은 JVM 에 있는 것 같습니다.

가독성을 높이기위해서 타이핑이많아야하는건 사실입니다ㅠㅠ 한가지를 가져오려고 한가지를 포기한것 같아서 아쉽네요ㅠㅠ
함수형 프로그래밍은 아직 식견이 짧아 되게 신선하네요! 한번 찾아봐야겠습니다!!

kr-dev 태그를 추가해 주세요~~

넵! 감사합니다!

혹시 무겁고 느리다는 단점은 없을까요? c나 c++에 비해서 상대적으로요

자바언어로 개발된 프로그램은 C나 C++은 메모리에 직접 엑세스해 효율성을 높인 반면 자바는 JVM이 메모리 관리를 하여 돌아갑니다. 따라서 C,C++에 비해 java가 확실히 무겁긴합니다ㅎㅎ 개인적으로 C나 C++은 임베디드 프로그래밍, JAVA언어는 응용소프트웨어 개발에 적합하다고 생각하고있습니다!