관리 메뉴

Frog is cry

메소드 (Day16) 본문

JAVA/국비수업

메소드 (Day16)

Frog is cry 2020. 7. 21. 18:14
package day17;
// 메소드 선언
public class Calculator {
	// 메소드
	void powerOn() {
		System.out.println("전원을 켭니다.");
	}
	
	int plus(int x, int y) {
		int result = x + y;
		return result;
	}
	
	double divide(int x, int y) {
		 double result = (double)x / (double)y;
		 return result;
	}
	void powerOff() {
		System.out.println("전원을 끕니다.");
	}
	
}
package day17;

public class Calculator_Ex {
	public static void main(String[] args) {
		Calculator myCalc = new Calculator();
		myCalc.powerOn();	// 반환형이 없는 메소드를 호출함
		//
		int result1 = myCalc.plus(5, 6);	// 반환형이 int인 메소드를 호출함
		System.out.println("result1 : " + result1);
		//
		byte x = 10;
		byte y = 4;
		double result2 = myCalc.divide(x, y);
			// 반환형이 double인 메소드를 호출함
		System.out.println("result2 : " + result2);
		
		myCalc.powerOff();
		
				
		
	
		
	}
}
package day17;

public class Korean {
	String nation = "대한민국";	// 필드선언 및 초기화
	String name;	// 필드 선언만
	String ssn;		// 필드 선언만
	
	// 생성자
	public Korean(String name, String ssn) {
//		name = name;	// name = 필드, n = 매개변수
//		ssn = ssn;		// ssn = 필드 , s = 매개변수
		//
		this.name = name;	// this.name = 필드, name = 매개변수
		this.ssn = ssn;		// this.ssn = 필드 , ssn = 매개변수
		
		
	}
	
	
}
package day17;

public class Korean_Ex {

	public static void main(String[] args) {
		Korean k1 = new Korean("박자바", "012345-1234567");
		System.out.println("k1.nation : " + k1.nation );
		System.out.println("k1.name : " + k1.name );
		System.out.println("k1.ssn : " + k1.ssn );
		//
		Korean k2 = new Korean("김자바", "543210-7654321");
		System.out.println("k2.nation : " + k2.nation );
		System.out.println("k2.name : " + k2.name);
		System.out.println("k2.ssn : " + k2.ssn);
		
	}
}
package day17;
// 생성자 선언 : Car 클래스
public class Car {

	// 생성자
	Car(){} // 이것은 자동 생성자를 대행하는 역할을 합니다.
	
	Car(String color, int cc) {	// 생성자의 특징 : 클래스명과 동일하다.
				// 이 생성자는 명시적 생성자입니다. 자동 생성자가 아닙니다.
				// 명시적 생성자를 만들면 자동생성자를 자바가 자동으로 만들어주지 않습니다.
				// 메서드와 비교했을 때 반환값이 없다
		
		System.out.println("color : " + color);
		System.out.println("cc : " + cc);
	}
}
package day17;

public class Car_Ex {
	public static void main(String[] args) {
		Car c1 = new Car("검정색", 3000);
		Car c2 = new Car(); // 기본생성자를 만들어줘야함
	}
}
package day17;
// 생성자 오버로딩
public class Car2 {
	// 필드
	String company = "현대자동차";
	String model;
	String color;
	int maxSpeed;
	
	// 생성자1
	Car2(){}
	
	//생성자2
	Car2(String model) {
		this.model = model;	// model매개변수값을 this.model필드에 할당
	}
	
	//생성자 3
	Car2(String model, String color) {
		this.model = model;
		this.color = color;
	}
	
	//생성자4
	Car2(String model, String color, int maxSpeed) {
		this.model = model;
		this.color = color;
		this.maxSpeed = maxSpeed;
		
	}
	
	
	
	
	
	
}
package day17;

public class Car2_Ex2 {
	public static void main(String[] args) {
		
		Car2 car1 = new Car2("자가용");
		System.out.println("car1.company" + car1.company);
		System.out.println();
		//
		Car2 car2 = new Car2("자가용");
		System.out.println("car2.company" + car2.company);
		System.out.println("car2.model" + car2.model);
		System.out.println();
		//
		Car2 car3 = new Car2("자가용", "빨강");
		System.out.println("car3.company" + car3.company);
		System.out.println("car3.model" + car3.model);
		System.out.println("car3.color" + car3.color);
		System.out.println();
		//
		Car2 car4 = new Car2("자가용", "빨강", 200);
		System.out.println("car4.company" + car4.company);
		System.out.println("car4.model" + car4.model);
		System.out.println("car4.color" + car4.color);
		System.out.println("car4.maxSpeed" + car4.maxSpeed);
		System.out.println();
		
	}
	
	
}
package day17;

public class Car3 {
	// 필드
	String company = "현대자동차";
	String model;
	String color;
	int maxSpeed;
	
	// 생성자1
	Car3(){}
	
	//생성자2
	Car3(String model) {	// 매개변수가 1개인 생성자
		this(model, "은색", 250);	// model매개변수값을 this.model필드에 할당
	}
	
	//생성자 3
	Car3(String model, String color) {
		this(model, color , 250);
	}
	
	//생성자4
	Car3(String model, String color, int maxSpeed) {
		this.model = model;
		this.color = color;
		this.maxSpeed = maxSpeed;
		
	}
	
	
	
	
	
	


}
package day17;

public class Car3_Ex {
	
	public static void main(String[] args) {
		
	
	Car3 car1 = new Car3("자가용");	// 생성자 1번(매개변수 없는것) 사용함
	System.out.println("car1.company" + car1.company);
	System.out.println();
	//
	Car3 car2 = new Car3("자가용");	// 생성자 2번(매개변수가 model인것) 사용
	System.out.println("car2.company" + car2.company);
	System.out.println("car2.model" + car2.model);
	System.out.println();
	//
	Car3 car3 = new Car3("자가용", "빨강");	// 생성자 3번(매개변수가 model, color 인것) 사용
	System.out.println("car3.company" + car3.company);
	System.out.println("car3.model" + car3.model);
	System.out.println("car3.color" + car3.color);
	System.out.println();
	//
	Car3 car4 = new Car3("자가용", "빨강", 200);	// 생성자 4번(매개변수가 model, color, maxSpeed 인것) 사용
	System.out.println("car4.company" + car4.company);
	System.out.println("car4.model" + car4.model);
	System.out.println("car4.color" + car4.color);
	System.out.println("car4.maxSpeed" + car4.maxSpeed);
	System.out.println();
	
	}

	
}
package day17;

public class Car4 {
	// 필드
	int gas;
	
	//생성자
	
	// 메소드
	void setGas(int gas) {
		// 리턴값이 없는 메소드로 매개변수를 받아서 gas필드값을 변경함
		this.gas = gas;
	}
	boolean isLeftGas() {
		if(gas == 0) {
			System.out.println("gas가 없습니다.");
			return false;
		}
		System.out.println("gas가 있습니다.");
		return true;
	}
	void run() {
		while(true) {
			if(gas > 0) {
				System.out.println("달립니다.(gas잔량:" + gas + ")");
				gas -= 1;
			} else {
				System.out.println("멈춥니다.(gas잔량:" + gas + ")");
				return;
			}
		}
	}
	
}
package day17;

public class Car4_Ex {
	public static void main(String[] args) {
		
	
	Car4 myCar = new Car4();
	
	myCar.setGas(5);
	
	boolean gasState = myCar.isLeftGas();
	if(gasState) {
		System.out.println("출발합니다.");
		myCar.run();
	} 
	if(myCar.isLeftGas()) {
		System.out.println("gas를 주입할 필요가 없습니다.");
	}else {
		System.out.println("gas를 주입하세요");
	}
	
  }
	
 }
package day17;

public class Car5 {
	
	String color = "빨강";
	String brand;

	Car5() {}	// 기본 생성자
	
	Car5(String brand) {	// 명시적 생성자
		this.brand = brand;
		
	}
	
	
}
package day17;

public class Car5_Ex {

	public static void main(String[] args) {
		
		Car5 c1 = new Car5();
		
		
		Car5 c2 = new Car5("벤츠");
		System.out.println("c2.brand : "+ c2.brand);
		
	}
}
package day17;

public class Car6 {

	String brand;
	int cc;
	
	Car6() {}
	
	Car6(String brand, int cc) {
		this.brand = brand;
		this.cc = cc;
		
	}
}
package day17;

public class Car6_Ex {
	public static void main(String[] args) {
		Car6 myCar1 = new Car6("벤츠", 2000);
		Car6 myCar2 = new Car6("BMW", 3000);

		System.out.println(myCar1.brand + myCar1.cc);
		System.out.println(myCar2.brand + myCar2.cc);
	}
	
	
 }
package day17;

public class Car7 {

	String field1 = "첫번째 필드입니다.";
	String field2;
	int field3;
	double field4;
	
	Car7(){	}
		
	Car7(String field2){
		this.field2 = field2;
		}
	
	Car7(String field2, int field3){
		this.field2 = field2;
		this.field3 = field3;
	}
	
	Car7(String field2, int field3, double field4){
		this.field2 = field2;
		this.field3 = field3;
		this.field4 = field4;
	}
	

	
}

package day17;

public class Car7_Ex {
	
	
	public static void main(String[] args) {
		Car7 c1 = new Car7() {};
		System.out.println(c1.field1);
		System.out.println(c1.field2);
		System.out.println(c1.field3);
		System.out.println(c1.field4);
		
		Car7 c2 = new Car7("이") {};
		System.out.println(c2.field1);
		System.out.println(c2.field2);
		System.out.println(c2.field3);
		System.out.println(c2.field4);
		
		Car7 c3 = new Car7("삼", 30) {};
		System.out.println(c3.field1);
		System.out.println(c3.field2);
		System.out.println(c3.field3);
		System.out.println(c3.field4);
		
		Car7 c4 = new Car7("사", 40, 45) {};
		System.out.println(c4.field1);
		System.out.println(c4.field2);
		System.out.println(c4.field3);
		System.out.println(c4.field4);
		
		
	}
}

'JAVA > 국비수업' 카테고리의 다른 글

스테틱 변수(day18)  (0) 2020.07.23
메소드(day17)  (0) 2020.07.22
Day20  (0) 2020.07.20
Day19  (0) 2020.07.20
클래스(Day15)  (0) 2020.07.20
Comments