본문 바로가기
IT/자바

클래스 사용 연습 및 복습

by 독서실총무J 2017. 5. 2.
반응형

오늘은 포스팅이 많이 늦었다

근로자의 날이라서 간만에 쉬는 친구들과 한잔 하였기 때문.

황금연휴라며 웃음꽃을 띈 놈들과의 술자리가 화기애애 했지만

아직 취업을 하지 못한 나만 왠지 겉도는 느낌이 들어서 슬펐다


자바 학원을 다니면서 원래 프로그래머로 취업을 하려고 했는데,

너무 나와는 맞지 않는것 같아서 수료만 한 상태이다


같이 배웠던 사람들은 하나둘 다 취업을 해서 열심히 일하고 있는데

나만 혼자 독서실 카운터에서 이러고 있으니 왠지 서글프다

나이 30 , 적지 않은 이 숫자가 밤마다 항상 나를 자꾸 괴롭힌다


미안하다 

오랜만에 술을 먹었더니 센치해져서 너무 내 신세한탄만 들려준것 같다

원래 나는 푸념만 하는 그런 류의 인간은 아니니

안심하시고 오늘의 복습내용을 살펴보자


아마 내기억으로는 , 이날은 같이 배우던 학생중 하나가 

잘 이해가 되지 않는다고 해서 전날 배웠던 내용을 단체로 복습했던것 같다


이런상황에 구글의 힘을 빌려 혼자 다시 공부해보라고 

할만도 한데 강사님이 매우 너그러운 분이셔서 덕분에 하루 놀았던 기억이 난다


예제가 꽤나 많았지만 나는 두개만 추려서 오늘 이야기 해보려고 한다

아무래도 많이 취한데다가 체력적으로 힘드니까 여러분이 이해해주길 바란다


class Bar {
	void printNumber() {
		System.out.println(number);
	}
	int number = 2;
}

class UseBar {
	public static void main(String[] args) {

		Bar b = new Bar();
		b.printNumber();
	}
}


아주 간단한 클래스 코드이다

Bar라는 클래스에 printNumber메소드와 number 멤버변수가 있디

number에는 2가 초기화 되있고 , printNumber 메소드에서는 거기에 담긴 

값을 출력하는 실행문으로 구성되어 있다 


UseBar main문에서는 b라는 Bar형의 변수를 만들어 낸후 

printNumber 메소드를 호출하고 있다 


결과는 당연히 2가 출력될것이다

아주 간단하고도 간단한 예제이다

클래스에 대하여 정확하게 이해하고 있는 사람들에게는

전혀 의심의 여지가 없는 그런 코드이니 혹시라도 구조가 이해가 안간다면

오늘도 역시 구글을 살펴보길 바란다


오늘의 핑계는 아무래도 술이다

너무너무 피곤하기 때문에 이해해주길 바라며 다음 예제를 살펴보도로 하자

import java.util.Scanner; class Stock { String no; int count; void increase(int amount) { if(amount >= 0) { System.out.print(no + " 제품 증가(" + amount + ") -> "); count += amount; showCurrentCount(); } else { System.out.println("증가수량이 음수가 될 수 없습니다."); } } void decrease(int amount) { if(amount <= count) { System.out.print(no + " 제품 감소(" + amount + ") -> "); count -= amount; showCurrentCount(); } else { System.out.println("재고수량이 모자랍니다."); } } // Scanner 이용한 증가 void plus() { Scanner scan = new Scanner(System.in); int amount; boolean flag = false; do { System.out.print("증가수량 입력 : "); amount = scan.nextInt(); if(amount < 0) { flag = true; System.out.println("0보다 큰값만 허용합니다."); } else { flag = false; } } while(flag); increase(amount); } void showCurrentCount() { System.out.println(no + "제품의 재고수량 : " + count); } } class UseStock { public static void main(String[] args) { Stock s = new Stock(); s.no = "s0001"; s.plus(); s.decrease(20); } }


이번에 살펴볼 내용은 우리가 다루었던 것들중에 

가장 길이가 긴 코드이다

그렇다고 바짝 긴장할 필요는 없다 

돌아가는 문맥만 알면 코드가 짧건 길건 모두 쉬운 내용이다


카더라 하고 들었던건데 현업에 당신이 신입으로 들어가게 되면

이것과는 비교할수 없을정도의 길이를 마주하게 될것이다


거기에 비하면 이정도야 껌이 아닐까?


하나하나 해나가다보면 분명 실력이 늘테니

걱정말고 천천히 해나가길 바란다

취중에 하는 말이지만 나는 이글을 보고 있는 당신이 행복했으면 좋겠다


어울리지 않게 자꾸 착한말만 해대서 적응이 안되겠지만

요새 경기도 힘든데 , 프로그래머로 성공하길 바란다


덕담은 이쯤 해두고, 코드를 살펴보자

길이만 길어졌을뿐 클래스는 단 두개이다

Stock라는 클래스를 만들고 UseStock에서 사용하고 있는 형태이다


Stock에서는 amout를 증가하거나 감소할수 있는데,

여태까지 참고했던 예제들과는 다르게 예외처리를 해주고 있다


이 예외처리는 나중에 제대로 언급하게 될것이니

그때가서 정확하게 알아보도록 하자


지금은 그냥 간단히 예외가 일어날 경우 

해당 부분에 대해서도 언급해주는것이라고 

알아두면 마음이 편해질것이다


코드가 길지만 내용은 간단한것이니 

직접 쳐보고 이해해보길 바란다


막상 치고나면 별거아닐 것이니

쫄지말고 쳐보자 


나는 오늘 너무 피곤해서 여기까지만 쓰고 마무리 하도록 하겠다

내일 또 만납시다 

모두 굿밤되시고 황금연휴 잘 보내시길~

반응형

'IT > 자바' 카테고리의 다른 글

getter setter toString 중복메소드  (0) 2017.05.03
Class 두번째 복습과 this  (0) 2017.05.02
클래스 메소드 정확한 이해  (0) 2017.04.30
조건문 switch 반복문 while for  (0) 2017.04.29
자바 형변환 if문 설명  (0) 2017.04.28

댓글