package com.function;
/**
* 함수란? 데이터를 받아서 처리하고 결과를 돌려주는 코드 블록이야.
* static 을 사용하면 객체 없이 호출 가능 해!
*/
public class calculatorMain {
public static void main(String[] args) {
//테스트 용 숫자
int num1 = 10;
int num2 = 5;
int testumber = 7;
//더하기 호출
int sum = add(num1, num2);
System.out.println(num1 + " + " + num2 + " = " + sum);
// int sum = add(num1, num2)
//System.out.println(num1 + " + " + num2 + " = " + sum);
// 빼기 함수 호출
int sum2 = subtract(num1, num2);
System.out.println(num1 + " - " + num2 + " = " + sum2);
//int sum2 = subtract(num1, num2)
//System.out.println(num1 + " - " + num2 + " = " + sum2);
// 곱하기 함수 호출
int sum3 = multiply(num1,num2);
System.out.println(num1 + " * " + num2 + " = " + sum3);
//int sum3 = multiply(num1,num2);
//System.out.println(num1 + " * " + num2 + " = " + sum3)
// 나누기 함수 호출
double sum4 = divide(num1 , num2);
System.out.println(num1 + " / " + num2 + " = " + sum4);
//double sum4 = divide(num1, num2);
//System.out.println(num1 + " / " + num2 + " = " + sum4);
// 짝수 판별 함수 호출
boolean sum5 = isEven(num1);
System.out.println("짝수 판별 결과 : " + sum5);
//boolean sum5 = isEven(num1);
//System.out.println("짝수 판별 결과 : " + sum5);
// 홀수 판별 함수 호출
boolean sum6 = isOdd(num1);
System.out.println("홀수 판별 결과 : " + sum6);
// boolean sum6 = isOdd(num1);
//System.out.println("홀수 판별 결과 : " + sum7)
//double result1 = divide( 10 , 0);
// System.out.println("result1 : " + result1);
}
// 두 숫자를 더하는 함수
static int add(int a, int b) {
return a + b; // 입력받은 a와 b를 더하고 반환
//static int add(int a, int b){
//return a + b ; }
}
// 두 숫자를 빼는 함수
static int subtract(int a, int b) {
return a - b;//입력받은 a에서 b를 반환
//static int subtract(int a, int b){
//return a - b; }
}
//두 숫자를 곱하는 함수
static int multiply(int a, int b) {
return a * b;// a와 b를 곱해서 반환
//static int multiply(int a , int b){
//return a * b; }
}
// 두 숫자를 나누는 함수 -->
static double divide(int a, int b) {
//방어적 코드를 잘 작성해아 한다.
if (b == 0) {
System.out.println("0으로 나눌 수 없습니다.");
return 0;
}
return (double) a / b;
//static double divide (int a , int b){
//if (b == 0){
//System.out .println("0으로 나눌 수 없습니다.")
//return a /b }
}
//짝수인지 판단하는 함수 - 매개변수
static boolean isEven(int number) {
return number % 2 == 0; //나머지가 짝수면 -->true, 아니면 false
//static boolean isEven(int number){
//return number % 2 == 0;
}
//홀수인지 판별하는 함수 - 매개변수1
static boolean isOdd(int numder) {
return numder % 2 != 0;
//static boolean isOss(int number){
//return number % 2 != o;}
}
}
메서드 복습하기(클래스, 생성자)
package com.method;
/**
* 메서드 연습
* 메서드란 객체에 소속된 함수로 , 클래스의 상태 (데이터)를 활용하거나 객체와 관련된
* 작업을 처리할때 사용
*/
public class CoffeeMachine {
//멤버변수
//커피머신의 상태 : 물과 원두의 양
int water; //물의 양(ml)
int coffee; //커피 원두의 양(g)
//int water;
//int coffee;
//사용자 지정 생성자
public CoffeeMachine(int w, int c) {
water = w;
coffee = c;
System.out.println(water);
System.out.println(coffee);
// public CoffeeMachine(int w , int c){
// water = w;
// coffee = c;
//System.out.println(water);
//System.out.println(coffee); }
}
// 행위 설계
//메서드 1 : 물 채우기
public void refilWater(int amount) {
if (amount > 0) {
water += amount;
System.out.println(amount + "ml의 물을 채웠습니다.");
} else {
System.out.println("0보다 큰 양의 물을 채워주세요");
}
//public void refilWater(int amount){
//if(amount > 0){
// water += amount;
//System.out.println(amount + ml의 물을 채웠습니다.")
//}else{
// System.out.println("0보다 큰 양의 물을 채워주세요")
// }
//}
}
//메서드 2 : 커피 원두 채우기
public void refillCoffee(int amount) {
// 방어적 코드 작성
if (amount > 0) {
coffee += amount;
System.out.println(amount + "g의 커피 원두를 채웠습니다");
} else {
System.out.println("0보다 큰 양의 원두를 채워주세요");
}
//public void refillCoffee(int amount){
//if(amount > 0) {
//coffee += amount;
//Systems.out,println(amount + " g의 커피 원두를 채웠습니다");
//} else {
// System.out.println("0보다 큰 양의 원두를 채워주세요");
//}
//}
}
//메서드 3 :커피 만들기
public String makeCoffee() {
// 커피 한잔에 물 100ml 원두가 10g 필요하다고 가정할때
//방어적 코드 작성
if (water >= 100 && coffee >= 10) {
water -= 100;//물 사용
coffee -= 10; //원두사용
return "맛있는 커피 한잔 완성";
} else {
return "재료가 부족해요 물이나 커피를 채워주세요";
}
//public Sring makeCoffee() {
//if (water >= 100 && coffee >= 10){
//water -= 100;
//coffee -= 10;
//return " 맛있는 커피 한잔 완성"
//} else {
// return "재료가 부족해요 물이나 커피를 채워주세요"
//}
}
//연습문제
//사용자 정의 생성자를 멤버 변수 water, coffe 값이 초기화 될 수 있도록 코드를 추가 해주세요.
public void showInfo(){
System.out.println("---------재료량-------------");
System.out.println(water + "남아있습니다");
System.out.println(coffee + "남아있습니다.");
}
}
package com.method;
public class CoffeeMachineMain {
public static void main(String[] args) {
//커피 머신 객체 생성 -> 인스턴스 화 -->인스터스(객체)
CoffeeMachine machine1 = new CoffeeMachine(100,10);
// CoffeeMachine machine = new CoffeeMachine(100,10);
//재려 채우기 동작을 시켜 보자(물, 원두)
machine1.refilWater(200);
machine1.refillCoffee(30);
System.out.println("-----------------------");
// 커피 만들기 테스트
System.out.println("커피 주문");
String result = machine1.makeCoffee();
System.out.println(result);
// 또 커피 주문
System.out.println(" 또 커피 주문!");
System.out.println(machine1.makeCoffee());
// 또 커피 주문(재료 부족 테스트)
System.out.println(" 마지막 커피 주문!");
System.out.println(machine1.makeCoffee());
//재료량 확인
machine1.showInfo();
}//emd of main
}
728x90
'JAVA 객체 지향 핵심' 카테고리의 다른 글
(JAVA)this 3가지 사용 방법 - 8 (0) | 2025.04.16 |
---|---|
(JAVA) 접근 제어 지시자(access modifier) - (0) | 2025.04.16 |
(JAVA)함수,메서드, 생성자란 (0) | 2025.04.15 |
(JAVA)버스, 학생, 지하철 만들어 보기 (0) | 2025.04.15 |
(JAVA)생성자(constructor) (0) | 2025.04.15 |