Img profile default
티지
  • 2016.7.27 10:47
  • 조회수 161
  • 답변수 1
Img profile default
티지
  • 2016.7.27 10:47
  • 조회수 161
  • 답변수 1

이해불가 .

public void fill(Suv suv){
System.out.println("Suv에 기름을 넣습니다.");
suv.gas += 10;
System.out.println("기름이 "+suv.gas+"리터 들어있습니다.");
}

이 부분에서 왜 fill메서드 속에 Suv suv이렇게 들어갔는지 이해가안되요
어렵게말고 쉽게 설명가능할까요?

Suv.java
public class Suv extends Car{
}
Truck.java
public class Truck extends Car{
}
Bus.java
public class Bus extends Car{
}
Car.java
public class Car{
    public int gas;
}
GasStation.java
public class GasStation{
    public static void main(String[]args){
        GasStation gasStation = new GasStation(); //gasStation인스턴스 생성
        Suv suv = new Suv(); //suv 인스턴스 생성
        Truck truck = new Truck(); //truck 인스턴스 생성
        Bus bus = new Bus(); //bus 인스턴스 생성

        //gasStation에서 suv에 기름을 넣습니다.
        gasStation.fill(suv);

        //gasStation에서 truck에 기름을 넣습니다.
        gasStation.fill(truck);

        //gasStation에서 bus에 기름을 넣습니다.
        gasStation.fill(bus);

    }

    public void fill(Suv suv){
        System.out.println("Suv에 기름을 넣습니다.");
        suv.gas += 10;
        System.out.println("기름이 "+suv.gas+"리터 들어있습니다.");
    }

    public void fill(Truck truck){
        System.out.println("Truck에 기름을 넣습니다.");
        truck.gas += 10;
        System.out.println("기름이 "+truck.gas+"리터 들어있습니다.");
    }

    public void fill(Bus bus){
        System.out.println("Bus에 기름을 넣습니다.");
        bus.gas += 10;
        System.out.println("기름이 "+bus.gas+"리터 들어있습니다.");
    }
}
  • #자바 입문
  • #클래스 형변환 - 실습

1 답변

  • Spgjnhnsidwygch8ddkd
    Chandler
    • 2016.7.28 14:31

    매개변수를 클래스로 받는 것에 대한 질문이신가요?

    public void print(int a) {
            System.out.println(a);
    }
    
    public void fill(Suv suv){
            System.out.println("Suv에 기름을 넣습니다.");
            suv.gas += 10;
            System.out.println("기름이 "+suv.gas+"리터 들어있습니다.");
    }
    

    위처럼 int형을 매개변수로 넘겨준 것처럼 클래스도 매개변수로 넘겨줄 수 있습니다.

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.