EEALL@ONCE

☕ 클레스를 다른 클레스에서 받아서 사용하기 본문

언어💻/자바☕

☕ 클레스를 다른 클레스에서 받아서 사용하기

올엣원스 2023. 10. 24. 23:40
728x90

치킨메뉴 클레스를 에에올치킨점에서 받아서 쓰기

public class ChickenMenu {
    //이 코드는 ChickenMenu 클래스를 정의하고 시작합니다.
    String name;
    int price;
    String cook="fry";

    //이 부분은 클래스 내에서 사용될 멤버 변수를 선언합니다.
    // 여기에는 메뉴의 이름(name), 가격(price), 그리고 요리 방식(cook)이 있습니다.
    // cook 변수는 "fry"로 초기화됩니다.

    //생성자 만들기
    public ChickenMenu(String name, int price) {
        this.name = name;
        this.price = price;
    }

    //이 코드는 두 개의 매개변수를 받는 생성자를 정의합니다. 생성자는 클래스의 인스턴스를 초기화하는 역할을 합니다.
    // 이 생성자는 name과 price를 인자로 받아 인스턴스 변수 name과 price에 값을 할당합니다. 
    // cook 변수는 기본적으로 "fry"로 설정됩니다.

    //생성자 만들기
    public ChickenMenu(String name, int price, String cook) {
        this.name = name;
        this.price = price;
        this.cook = cook;
    }

    //이 코드는 세 개의 매개변수를 받는 다른 생성자를 정의합니다. 이 생성자도 name과 price를 받고,
    // 추가로 cook 변수에 대한 값을 지정할 수 있습니다. 
    // 따라서 이 생성자를 사용하면 요리 방식(cook)을 직접 설정할 수 있습니다.

}
public class EeAllChicken {
    int no;
    String name;
    ChickenMenu[] menus;

    //이 부분은 클래스 내에서 사용될 멤버 변수를 선언합니다. 여기에는 다음이 포함됩니다:
    //no: 순번을 나타내는 정수
    //name: 메뉴 가게의 이름을 나타내는 문자열
    //menus: ChickenMenu 객체 배열을 가리키는 변수


    public EeAllChicken(int no, String name, ChickenMenu[] menus) {
        this.no = no;
        this.name = name;
        this.menus = menus;
    }


    //이 코드는 세 개의 매개변수를 받는 생성자를 정의합니다. 생성자는 클래스의 인스턴스를 초기화하는 역할을 합니다.
    // 이 생성자는 no, name, 그리고 menus 변수에 값을 할당합니다.
    // menus 변수에는 여러 닭 메뉴(ChickenMenu)를 관리하는 데 사용되는 배열이 전달됩니다.

    ChickenMenu orderMenu(String name){
        for(ChickenMenu menu: menus){
            if(menu.name.equals(name)){
                return menu;
            }
        }
        return null;
    }
    
    //이 코드는 메뉴를 주문하는 메서드인 orderMenu를 정의합니다. 
    // 이 메서드는 메뉴의 이름을 받아와서, 
    // 주어진 이름과 일치하는 메뉴를 menus 배열에서 찾아 반환합니다. 
    // 일치하는 메뉴가 없으면 null을 반환합니다.
}
public class Main {
    public static void main(String[] args) {

        ChickenMenu[] menus={
                new ChickenMenu("마늘갈릭",10000),
                new ChickenMenu("식초비니거",20000),
                new ChickenMenu("후라이드프라이",15000)
        };

        EeAllChicken store1=new EeAllChicken(1,"뉴욕",menus);

        ChickenMenu order1=store1.orderMenu("마늘갈릭"); // 마늘갈릭 return 될거임
        ChickenMenu order2=store1.orderMenu("양념갈릭"); // 없는 메뉴임으로 null
    }
}

yalco님아래의 강의를 따라하면서 이해한 부분을 더해보았습니다. 자세한 설명은 아래의 강의를 들으시면 더 이해가 잘됩니당. 

https://www.yalco.kr/

제대로 파는 자바 

728x90

'언어💻 > 자바☕' 카테고리의 다른 글

☕ 생성자  (0) 2023.10.27
☕ formatted : 포멧함수  (0) 2023.10.27
☕참조형(Reference Type)이 뭘까?  (0) 2023.10.17
☕생성자 메소드  (1) 2023.10.17
☕ 클래스 - static 이란?  (0) 2023.10.16