JAVA 객체 지향 핵심

(JAVA)함수, 메서드 생성자 복습 - 6_1

mynote6676 2025. 4. 16. 13:56
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