클래스 메서드 연습1

Mia Lee·2021년 11월 22일
0

JAVA

목록 보기
46/98
package ex_method;

public class Ex1 {

	public static void main(String[] args) {

		// Calculator 인스턴스 생성
		Calculator myCalc = new Calculator();
		
		myCalc.powerOn();
		myCalc.powerOn();
		
//		System.out.println(myCalc.powerOn()); // 에러 발생!
		
		// plus() 메서드를 호출하여 2개의 정수 5, 6 전달 후
		// 덧셈 결과를 리턴받아 result1에 저장 후 출력
//		myCalc.plus(5, 6);
		int result1 = myCalc.plus(5, 6);
		System.out.println("result1 = " + result1);
		
		byte x = 10;
		byte y = 4;

		// divide() 메서드를 호출하여 2개의 변수 x, y 전달 후
		// 나눗셈 결과를 리턴받아 result2 에 저장 후 출력
		double result2 = myCalc.divide(x, y); // 리터럴 대신 변수 전달 가능(자동형변환)
		System.out.println("result2 = " + result2);
		
		myCalc.powerOff();
		myCalc.powerOff();
		
		System.out.println("현재 전원 상태 : " + myCalc.isPowerOn);
		myCalc.changePower();
		myCalc.changePower();
		myCalc.changePower();
		
		
	}

} // Ex1 클래스 끝

class Calculator {
	
	// 전원 on/off 상태를 저장할 boolean 타입 변수 isPowerOn 선언
	boolean isPowerOn; // 기본값 false
	
	// powerOn(), powerOff() 메서드 대신 하나의 메서드로 전원 on/off 관리
	public void changePower() {
		// 현재 isPowerOn 변수값을 반전시키는 작업 수행
		isPowerOn = !isPowerOn;
		
		if(isPowerOn) {
			System.out.println("전원을 켭니다.");
			
		} else {
			System.out.println("전원을 끕니다.");
			
		}
		
	}
	
	public void powerOn() {
		// isPowerOn 변수값이 true일 경우
		// => "이미 전원이 켜져 있습니다!" 출력
		// flase일 경우
		// => "전원을 켭니다." 출력하고 isPowerOn 변수를 true로 변경
		if (isPowerOn) { // isPowerOn == true 와 동일한 조건식
			System.out.println("이미 전원이 켜져 있습니다!");
			
		} else {
			System.out.println("전원을 켭니다.");
			isPowerOn = true;
			
		}
		
	}
	
	// powerOff() 메서드 정의
	// 전원이 켜져 있을 경우 
	// "전원을 끕니다." 출력하고 전원 상태를 저장한 변수 변경
	// 전원이 꺼져 있을 경우
	// "이미 전원이 꺼져 있습니다!" 출력
	public void powerOff() {
		if (isPowerOn) {
			System.out.println("전원을 끕니다.");
			isPowerOn = false;
			
		} else {
			System.out.println("이미 전원이 꺼져 있습니다!");
			
		}
	}
	
	// plus() 메서드 정의
	// 2개의 정수 값을 전달 받아서
	// 메서드 내에서 정수의 합을 계산하여 값을 리턴
	public int plus(int x, int y) {
		// 전달받은 2개의 정수 x, y의 합을 result 에 저장 후 리턴
		int result = x + y;
		
		return result;
		
	}
	
	// divide() 메서드 정의
	// 2개의 정수 값을 전달 받아서
	// 메서드 내에서 정수의 나눗셈을 계산하여 값을 리턴	
	public double divide(int x, int y) {
		// 전달받은 2개의 정수 x, y의 나눗셈 결과를 result 에 저장 후 리턴
		// => 소수점까지 계산을 위해 전달받은 정수를 double 타입으로 변환
//		double result = x / y; // int / int = int 이므로 정수만 계산
		
		// 두 피연산자 중 최소 하나의 피연산자는 double 타입 변환 필수!
		double result = (double) x / y;
		
		return result;
		
	}
	
	
}















0개의 댓글