반응형


안녕안녕!

오느른 신나는 Java 시간이야!

그간.. 무척바쁘기도 했는데 

 

산업기사 / 기사 시험이 시험 5일 앞두고

연기가 되어버렸지 뭐야  : )

엄청나게 공부를 해뒀는데

 

어쨌든..! 

오늘은 흔들린 멘탈을 부여잡고 

Java에 메서드 혹은 메소드 혹은 Method라는 친구를 소개해보도록할게!


클래스가 가지고 있는 기능을부를때 Method라고 불러!

 

< 코 드 >

Class Main{
  public 리턴타입 매서드명 (매개변수){

             구현;
  }    
}

리턴타입 매서드명 (매개변수)

이 구성들을 소개해 줄게

 

동수 : "너 뭐먹을거야?"

나 : " 나는 김밥! "

 

이걸 예로 들어서 코드를 짜볼게!

 


< 코드 >

// 동수라는 클래스

package project;

public class Dongsu {
    public static void main(String[] args) {
		//Me class라는 객체, me 인스턴스를 만들어주고
		Me menu = new Me();
		
		// He say!
		System.out.println("동수 : 너 뭐먹을거야 ?");
		
		//인스턴스안 (클래스 기능중) .answer라는 친구를 호출!
		menu.answer();

    }
}

// 나 라는 클래스
package project;

class Me{
	public void answer(){
		System.out.println("나 : 나는 김밥");
	}
}

< 실행 결과 >

 


여기서 보면 나라는 클래스는

Me라는 이름을 가졌고 

 

void = 전달할 값은 없다.

answer = 메서드 이름

 

이렇게 이루어져있어.

 

return type은 숫자로 값을 전달하려거든 int, 

문자열의 경우는 String이 되는건데

void의 경우는 " 따로 값을 줄 필요가 없어! " 

라는 뜻인거야

 

"김밥이라며!! 김밥!! 왜 전달할 값이 없어!!"

 

여기서 전달할 값이라는건

전달한 값을 통해서 어떤  기능이 사용될때

 

"나랑 사귀자!"

"응 아냐"

 

이것처럼 내 맘을 고백을 통해 전달하여

상대방의 마음을 듣고 싶은경우.

 

이런경우와 비슷하지


"돈 500원 갚어 ( 이걸로 맛있는것 먹어야지) !"

"응 입금했어!"

"띠롱 500원이 입금되었습니다"

"맛난거 먹으러 가야지 룰루랄라"


이런 느낌으로 보면 될것같아

500원을 요청 -> 500원을 전달 -> 500원을 받은걸 확인 -> 그돈으로 군것질하러감

이것처럼 500원이란 값을 받아서 무엇인가 해야할때 , 그때 전달을 해

 

그런데  "나는 김밥!"이라고 했을때

당당히 듣씹당했거든?

그래서 void를 쓴거야!

 

이렇게 하면... 남은건 매개변수라는 친구인데

매개변수라는 친구는 다른말로, parameter! 라고도 불려

 

parameter(파라메터)라는 친구는

 

이런 상황이라고 설명해줄게!


"띠롱 500원이 입금되었습니다"

( 저벅저벅 학교앞 문방구 가는중 )

 

" (500원을 건네며) 아줌마! 피카츄 돈까스 주세요!"

"응 여기있다아 스윽"


여기서 보면 500원이란 돈을

학교앞 문방구안에 앞치마를 두르고 떡볶이를 뒤적거리시는 어머님께 돈을 건네드리며 (어휴 힘들다)

"피카추 돈까스주세요" 라고 요청했지?

 

즉, 돈을 드리며 요청하는 과정중

그 돈이 파라메터가 되는거야

그럼 아주머니께서 돈까스를 주시겠지?

 

만약 파라메터가 없어!

그럼 피카추돈까스는 영원히 우리들손에 들어오지 않아

 


< 코드 >

//Shop.java

package project;
import java.util.Scanner;
public class Shop {
    public static void main(String[] args) {
		int coin;
		
		Order param = new Order();
		Scanner scan = new Scanner(System.in);
		
		System.out.println("피카추 돈까스 주세요!");
		System.out.println("얼마를 낼까?");
		coin = scan.nextInt();
        
        // scan으로 받아온 돈을 int형태 코인변수에 담아 store에 전달
		param.store(coin);
		


    }
}

//Order.java

package project;

class Order{	
	//int type의 매개변수를 coins라는 변수로 받아오기
	public void store(int coins){
		
        //낸 돈이 500원이면
		if(coins == 500){
			System.out.println("돈가스를 받았습니다! (텐션 +10 증가, 배고픔 -5감소)");
		} else {
			System.out.println("아주머니의 눈초리 공격을 받았다! (텐션 -5 감소, 배고픔 +5증가)");
		}
	}
}

< 결과 >

 

 


이 개념은 사실상 정말 중요해 ㅎㅎ

이걸  이해못한다면 진행이 안될정로랄까?

 

가끔.. 어떤 친구들은 이 개념을 참 헷갈려 하더라구

그래서 잘 알아두었으면 좋겠어 ㅎㅎ

 

코드를 좀 개판으로 치긴 했는데!

(퇴근시간 임박해서 나중에.. 글보고 수정하는걸로..ㅋㅋㅋ)

 

큰 도움이 되길 바라며

오늘은 20000!

반응형