IT/Programming / / 2023. 4. 21. 17:40

[JAVA] method 사용 예제

반응형
package dayday8;
/*
 * class - 맨 앞 글자 대문자
 * methos - 맨 앞 글자 소문자
 * 
 */

class Pokemon{
	String name;
	int lv;
	boolean isAlive;//자바 컨벤션.. 불린타입 규칙.
	int hp, attack;
	/*
	 * 메소드 정의 형식
	 *  - return 타입을 서두에 작성
	 *  - ()안에 매개변수를 작성
	 *  - return type, method name, 매개변수1...
	 *     return 리턴값;
	 *     
	 * 
	 * **메소드를 만들었다고해서 바로 실행되는것은 아니다.
	 *  -> 호출해야 메소드 실행
	 *  
	 * **리턴의 의미
	 * 1. 소속한 메소드를 종료해라.
	 * 2. 리턴값을 코드자리에 반환해라
	 * 3. 호출된 곳으로 돌아가라.
	 * 
	 * **리턴값이 없으면 생략가능하다. void~ ... no return.
	 * **호출 1회당, 반환값 1개
	 * **메소드도 객체생성해야 사용 가능하다. .. 단 스태틱 메소드를 제외하고..
	 * 
	 * **호출할때만 JVM의 메소드영역에 호출되어 생성.. 리턴되면 다시 삭제.. 계속 반복..
	 * **기존 클래스 생성할때에는  ..
	 * Pokemon p = stack에 생성
	 * new Pokemon = Heap에 생성
	 * p.SetName.. = method에 생성
	 * 
	 */
	void setNameAndLevel(String n, int l){
		name = n;
		lv = l;		
	}
	String showAll(){
		return "이름 : "+ name +"\n"
				+"레벨 : " +lv +"\n"
				+"체력 : " +hp +"\n"
				+"공격력 : " +attack +"\n"
				+(isAlive ? "ALIVE" : "DEAD")+"\n";
	}
	
	//모든 변수를 세팅하는 setAll()선언
	void setAll(String n,int l,int h, int a){
		this.name =n;
		this.lv = l;
		this.hp = h;
		this.attack = a;
		this.isAlive = (hp > 0 ? true : false);
	}
}

public class test01 {
	public static void main(String[] args){
		Pokemon pk = new Pokemon();
		pk.setNameAndLevel("피카츄", 100);
		System.out.println(pk.showAll());
		System.out.println();
		
		Pokemon pk3 = new Pokemon();
		Pokemon pk4 = new Pokemon();
		Pokemon pk5 = new Pokemon();
		
		pk3.setAll("라이츄", 100, 100, 30);
		pk4.setAll("꼬북이", 90, 120, 40);
		pk5.setAll("파이리", 80, 0, 60);
		
		System.out.println(pk3.showAll());
		System.out.println(pk4.showAll());
		System.out.println(pk5.showAll());
		
	}
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유