본문 바로가기

프로그래밍/자바(JAVA)

[자바/JAVA] 자바 클래스 객체 느그들 머꼬!

자바 클래스 객체 느그들 머꼬!


오늘은 자바에서 나오는 놈들 중 클래스(class), 객체(Object)에 대해서 한번 알아 보려고 합니다. 여기서 설명되는 내용들은 제가 공부하면서 이해한 방법이니 오해마시고 보시기 바랍니다.^^ 그리고 전 프로그램 외에 다른분야를 잘 알지 못하니 다른분야에 대해 좀 잘못된 설명이 있더라도 너그러이 이해해 주시구요. 댓글로 알려주시면 겸허히 받아들이도록 하겠습니다.^^


프로그램에 대한 설명을 잘모르시는 분들을 대상으로 설명하는 것이기에 최대한 제기준으로 쉽게 설명해보도록하겠습니다.^^


자바에서 말하는 클래스와 객체를 저는 학생들에게 이렇게 설명하곤 했답니다.

시작하기전에 먼저 머릿속에 집을 짓는 과정에 대해서 그려주시기 바랍니다. 전문가가 아니니 너무 디테일한 것들은 모두 생략하구요.


설계도를 만든다. --> 설계도를 따라서 집을 짓는다. 


이렇게 생각해 볼수도 있겠죠? 요건 이해 되시죠. 그럼 프로그램언어인 자바에서는 어떻게 이해를 하시면 되느냐.


클래스 - 집을 짓기전에 작성하는 설계도

객체 - 설계도를 보고 만든 집


요렇게만 머릿속에 박아두시면 되겠습니다. 앞으로 진행되는 대부분의 기본 개념들은 이 녀석들을 가지고 이야기 할 것이니 까먹지 마세요.


대부분의 집들은 설계도를 먼저 작성하고 난뒤 집을 짓습니다. 그죠? 

자바도 마찬가지 입니다. 클래스라는 녀석을 먼저 만들고 난뒤 그 클래스를 기반으로 객체가 만들어 집니다.


집을 지을때는 설계도를 보고 그대로 만듭니다. 그대로 만들지 않으면 부실공사가 되죠.

객체를 만들때는 클래스를 보고 그대로 만듭니다. 반드시 그렇게 됩니다.


하나의 설계도로 여러개의 집을 지을수가 있습니다. 대부분 그렇죠, 하나의 집으로 여러개의 설계도를 그리지는 않습니다.

자바도 마찬가지 입니다. 하나의 클래스를 가지고 여러개의 객체를 만들수가 있습니다. 


요게 다입니다. 별거 없죠? ㅎㅎ 그럼 조금더 들어가 보겠습니다.


설계도를 그릴때 그안에 여러가지 기호나 약속된 것들을 표시하여 여러가지를 나타낼 수 있습니다. 하지만 아무거나 쓸수 있는것이 아니라 서로간에 약속되어져 있죠. 클래스도 마찬가지 입니다. 클래스라는 녀석도 그녀석이 가지고 있는 것들이 정해져 있습니다.


클래스가 가질수 있는 녀석들(클래스 안에 사용할 수 있는 녀석들)은 변수, 메소드, 생성자, 내부클래스, 초기화블럭 정도를 가질수 있습니다.

각각에 대해서는 내용이 방대하니 추후 하나씩 올리도록 하겠습니다.


그러면 여기에서 질문! 설계도를 보고 집을 만든다?  여러분들은 누가 집을 만드는지는 대충 아시죠. 그럼 자바에서 클래스를 가지고 객체를 만드는 녀석은 누구일까요?


참 어이 없게도 new 라는 키워드만 붙여주면 객체가 만들어 진답니다. 이와 관련된 내용도 겁나게 많으니 추후에 다시 설명하도록 하겠습니다.


대충 감이 잡히시나요? 도저히 머가먼지 모르겠다 하시는분!!  저처럼 평범하신 분들입니다. 

좀 이해가 되신다면 여러분들의 머리가 굉장히 좋으신 겁니다. 아님 제가 설명을 워낙 잘한거일수도. ㅎㅎ


프로그램 설명을 하는데 코드가 하나도 없네요. 굳이 그럴 필요가 없는거 같아 쓰지 않았습니다. 앞으로 요런 강좌들을 하나씩 올리도록 하겠습니다.

혹시나 한번쯤 해보실 분들은 도전해 보시구요. 궁금하신건 언제든지 저에게 댓글로 질문하시면 상세히 알려드리도록 하겠습니다.


그럼 다음 시간에 뵙겠습니다.^^


덧글 1]

이쪽으로 관심 없으신 분들은 사실 재미가 없으시죠? 약간의 동기 부여가 될만한 내용을 알려드리겠습니다.


제가 안드로이드 강의를 한지 2년 정도 되었습니다. 

수업을 들으시는 분들의 대부분은 취업을 위해 수강을 하셨고 이후 관련 분야로 취업을 하셨습니다. 하지만 그외에 몇몇분들은 본업과는 상관없이 취미삼아 수업을 들으시는 분들도 계십니다. 바로 투잡을 하기위해, 재미삼아 취미삼아 플밍을 하시는 분들도 계시죠.


여기서 주목!  투잡이 머냐..


바로 앱을 만들어서 팔거나 광고를 게재해서 수익을 올리는 것이지요. 사실 프로블로거 분들과는 수익이 비교가 되지는 않겠지만 앱을 만들어 매달 벌어 들이는 수익이 적게는 5~10만원 정도, 많이 버시는 분이 100만원 이상의 수입을 버시는 분들도 계십니다.


덧글 2]

가끔 수강생들중 마음이 맞는 3~4명이 모여서 팀단위로 하기도 합니다. 그 중에는 디자인을 좀 잘하시는 분들도 계시고 프로그램도 잘하시는 분들도 계셔서 일주일에 한번, 아니면 한달에 1~2번정도 모여서 아이디어 회의도 하고 서로간에 알고있는 지식을 공유하기도 합니다. 

만들어진 앱은 N빵하여 서로 똑같이 분배하구요. 이분들도 꽤 수익이 괜찮은걸로 알고 있습니다. (사실 정확한 수익내역을 공개하지 않았습니다. ㅋ)

혹시나 관심있으신 분들은 동기부여가 좀되시라고 적어보았습니다^^