누구든지 쉽게 배우는 자바프로그래밍-3[변수선언 및 기본데이터 타입]

in #kr8 years ago

안녕하세요! 개발자를 목표로 하는 취준생 @kimty입니다.
불과 하루전 아침에일어났을때 게시글의 보팅이 급격하게 오른걸 보고
많이 놀랐습니다... 이것저것 알아본결과 19하드포킹으로 인해 보팅이 올랐다고
하더군요... 크흠... 백수에게있어 가뭄에 단비가 아닐 수 없습니다!
여담은 여기까지로 하고 포스팅을 시작해 보겠습니다!

저번 포스팅 "누구든지 쉽게 배우는 자바프로그래밍-2[개발환경구축]"
https://steemit.com/kr/@kimty/2
에서 말씀 드렸듯이 이번시간엔 변수및 기본데이터타입 에 대해 포스팅해 보겠습니다!

저번시간에는 자바의 개발환경 구축 및 이클립스 설치까지 진행을 했는데요! 이번엔
프로젝트 생성 및 기본 변수선언,변수에 대한 자바의 기본 문법에 대해서 설명해 볼까합니다.

우선 저번포스팅에서 설치했던 이클립스를 켭니다!
그다음 그림과같이 프로젝트를 생성합니다.

1-1.jpg

아래 그림의 빨간 박스안에 프로젝트이름을 설정하고 finish를 눌러줍니다

1-2.JPG

그다음 프로젝트안에있는 src에 마우스 우클릭을 하신다음 class를 눌러줍니다

1-3.jpg

이 클래스에 대해선 객체지향기법을 이용한 프로그래밍포스팅을 시작할때 설명하기로 하고
프로그래밍을 하기위한 문서라고 생각하시면 될겁니다.

1-4.JPG

name에 클래스파일명을 지정해주고 finish를 눌러줍니다. 그럼 여러분은 본격적으로 소스코딩을 할수 있을겁니다.

1-13.JPG

첫화면은 이러한 아무것도 없는 화면에서 시작이 될것입니다.
main이라는 글자를 중괄호 안에 써준후 ctrl + spacebar(컨트롤+스페이스바) 를 누르게 된다면 아래의 그림과
같이 인텔리센스가 보여지게 됩니다. 이 인텔리센스는 앞으로도 많이 사용할 것이고 많이 사용되고 있으니
단축키를 꼭! 알아두시기 바랍니다.(ctrl+spacebar)

1-14.jpg

그렇다면 인텔리센스의 맨위를 클릭하거나 엔터를 누르시게 되면 자동으로 main문이 입력이 됩니다!

1-15.JPG

이 메인문도 본격적인 제어문을 사용할 때 자세히 설명을 하기로하고 프로그램을 실행시켰을때 가장먼저
시작되는 부분이라고 생각하시면 됩니다.

자! 그럼 변수란 무엇인가 부터 이야기를 해보아야 할것 같습니다.
변수의 사전적의미로는 '어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수',
수학에서는 방정식,함수그래프에서 사용되는 x,y같은 미지수,
실생활에서는 '이번 시험에 있어서 교수님의 요점정리는 어떠한 변수를 만들수 있을것 같다'
라고 사용을 하곤하죠...
요즘 유행어로는 '아모른직다' (아직모른다) 라고도 생각할 수 있을것 같습니다.
프로그래밍에서도 크게 다르지 않습니다!
제가 보는 책에선 '하나의 값을 저장할 수 있는 메모리 공간이다'라고 설명이 되어있고
쉽게말해 프로그래밍에서 변수는 '언제든지 변할 수있는 어떠한 수' 라고 봐도 무방할 것입니다.

그럼 어느정도 이해가 되었다고 생각하고 자바프로그래밍의 변수선언에 대해 알아보겠습니다.

1-11.JPG

그림과 같이 변수를 선언해 보았습니다. 파란색 박스를 보도록 하겠습니다.
파란색박스안에 int,double,char 이라고 적혀 있을 겁니다. 이것이 무엇을 의미하느냐?
a라는 변수의 타입,b라는 변수의 타입,c라는 변수의 타입을 나타낸 것입니다.

이해가 잘 안되신다구요? 그렇다면 스팀잇 게시글에 비유해 보겠습니다
여러분이 글을 작성하실때 태그를 입력하죠? 이 태그가 스팀잇에선 카테고리 분류역할도 해주는것같습니다.
포스팅글을 쓰고 태그를 입력하면 입력한타입의 게시글이 되는것처럼 변수에도 앞으로 이 변수(게시글)가 적용될 타입(태그)을 다는 것입니다.

이렇게 int라는 타입에 a라는 변수가 들어가게되고 이 a는 int라는 타입이 "지정" 된다는 것이고
double이라는 타입에 b라는 변수가 들어가게되면 b라는 변수는 double이라는 타입이 "지정" 된다는 것입니다.
그렇다면 c라는 변수에는 말하지 않아도 아실것이라 생각합니다.

그렇다면 이렇게 만들어진 변수에 상수 즉 저희가 사용할 실제 데이터를 넣어보겠습니다.
아까 예를 들었던 스팀잇게시글을 다시한번 살펴보겠습니다 it관련게시글(변수)에 it관련 태그(타입)을 달고
그안에 게시글 내용(상수)을 입력하게 됩니다. 만약 it관련게시글(변수)에 it관련 태그(타입)을 입력했지만
게시글 내용을 it관련내용이아닌 패션이나 일상,영화리뷰 같은 내용이 있으면 올바르지 않을 것입니다.
이렇듯 프로그래밍의 타입과 변수를 지정하고 그곳에 상수를 입력하려면 그 타입에 맞는 상수가 들어가야
오류가 나지않고 실행이 된다는 것입니다.

1-10.JPG

아래표에 프로그래밍에 필요한 기본타입들을 정리해 놓았습니다.
다음 포스팅에선 이러한 데이터기본타입들의 특성과 타입변환에 대해 설명해 드리도록 하겠습니다.

1-12.jpg

오늘은 이클립스의 자바프로젝트 생성 및 변수선언,변수타입선언에 대해서 알아보았습니다.
요즘 자격증 시험때문에 블로그에 신경도 잘못쓰게되고 괜히 싱숭생숭해 하고 있는것 같습니다....
제발 붙어야할텐데ㅠㅠ 그래도 포스팅은 해야하기에 이렇게 없는시간 짬내어서라도 조금씩 하고있습니다ㅠㅠ
다음 포스팅은 아마도 자격증 시험이 끝나는 날이 아닐까 싶습니다.

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

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

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

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

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

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

Sort:  

좋은글 잘보고갑니다~ 팔로워해요

감사합니다!!!

공유해 주셔서 정말 감사합니다. 정말 훌륭했습니다. 따라와 Upvoted 당신을 위해!

Thank you!!!!

저도 원래 하려했는데 조만간 써야겠네요 ㅎㅎ 감사합니다. 팔로우 합니다 ㅎㅎ

넵! 저두 팔로우했습니다!!

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!

개발 처음입문 하시는 분들에게 좋은글이네요! 감사합니다!

감사합니다! 많은 도움이 되었으면 좋겠습니다!

자바 기본기에 대해서 중요하게 생각하는데 깔끔하고 배우기 쉽게 정리해주셔서 늘 감사합니다. 진심이에요!

헉...너무 과분한 칭찬이신거같아요ㅠㅠ 앞으로 더욱 열심히하겠습니다!

복습하는 의미로 한번 읽어보면 좋을 것 같아요~

네ㅎㅎ 저도 사실 복습하는 느낌으로 포스팅하고 있답니다 :)

뭐든지 기초가 제일 중요한법! 잘보고 갑니다~

감사합니다!

int, char 와 같은 기본형은 객체가 아닙니다. Java 는 객체지향언어인데 객체가 아닌 데이터 타입이 있다는 것은 놀라운 일입니다.
java.lang.Integer 나 java.lang.Character 등등의 기본형에 대한 wrapper 가 있으니 걱정하지 않으셔도 됩니다.
물론 클래스 객체를 만들면 속도면에서 저하가 심합니다. 이는 언어 설계상의 문제점이라 볼 수 있습니다.
만일 64bit 이상의 정수를 쓰려면 어떻게 해야할까요?
java.lang.BigInteger 라는 클래스가 있습니다. 매우 쓰기 까다롭습니다.
BigInteger 를 새로 만들어 보는 것도 java 를 배우는 좋은 방법인 것 같군요...

헐...BigInteger이 있는지도 몰랐네요...감사합니다!

@programmersmh 님도 자바 강좌를 시작하려고 하는데,
두분이 협의하셔서 중복되지 않게끔 해 주시면 좋겠습니다.
감사합니다.