서로 다른 클래스의 메서드 선언_java
2022. 2. 20. 18:51ㆍksmart_Java/Java실습
728x90
1.
public class JavaBasicEx01 {
public static void main(String[] args) {
/************************************************
* 실습. 아래의 구현체를 보고 각 클래스와 메서드를 선언하도록 하여라.
************************************************/
MyCarMove mc = new MyCarMove();
mc.setCarInfo("소나타", "검정");
MyCar m = mc.getMyCar();
System.out.println("모델 : " + m.getCarName()); // 소나타
System.out.println("색상 : " + m.getCarColor()); // 검정
}
}
더보기







풀이

10. MyCarMove 클래스를 생성한다.
12.MyCar 클래스를 생성한다.

16. mc 는 MyCarMove 의 객체참조변수이므로 MyCarMove 클래스 내에 setCarInfo 메서드를 생성한다.

4. setCarInfo에서 받을 값은 20을 보면 소나타와 검정으로 String CarName, String CarColor 데이터타입과 매개변수로 입력값을 받는다.
21.MyCarMove 클래스 내에 getMyCar 메서드를 생성해준다.
22.MyCar 클래스 내에 getCarName 메서드를 생성해준다.
23.MyCar 클래스 내에 getCarColor 메서드를 생성해준다.

에러는 모두 사라졌지만 널포인트다.

34. mc.setCarInfo에서 설정한 소나타가 37. m.getCarName에 들어가야한다.
값을 가져오고 내보내기 위해 getter, setter 메서드를 사용한다.

MyCarMove 클래스에서 값을 받을 수 있다.
MyCar의 CarName과 CarColor 지역변수를 MyCarMove 클래스 내 setCarInfo 매개변수로 세팅한다.
return 값으로는 mycar 받아야 값이 들어간다.

class MyCar {
private String CarName;
private String CarColor;
public String getCarName() {
return CarName;
}
public void setCarName(String CarName) {
this.CarName = CarName;
}
public String getCarColor() {
return CarColor;
}
public void setCarColor(String CarColor) {
this.CarColor = CarColor;
}
}
class MyCarMove {
private MyCar mycar;
public MyCarMove() {
this.mycar = new MyCar();
}
public void setCarInfo(String CarName, String CarColor) {
mycar.setCarName(CarName);
mycar.setCarColor(CarColor);
}
public MyCar getMyCar() {
return mycar;
}
}
2.
public class JavaBasicEx01 {
public static void main(String[] args) {
/************************************************
* 실습. 아래의 구현체를 보고 각 클래스와 메서드를 선언하도록 하여라.
************************************************/
MyCarMove mc = new MyCarMove();
mc.setCarInfo("소나타", "검정");
mc.addMove(30);
mc.addMove(60);
mc.addMove(10);
System.out.println("총 이동 거리 : " + mc.getTotalMove() + "km"); //100
System.out.println("첫번째 이동 거리 : " + mc.getMove(0) + "km"); //30
MyCar m = mc.getMyCar();
System.out.println("모델 : " + m.getCarName()); //소나타
System.out.println("색상 : " + m.getCarColor()); //검정
System.out.println("이 차량의 총 주행거리 : " + m.getMove() + "km"); //100
}
}
package kr.or.ksmart.std;
import java.util.ArrayList;
import java.util.List;
class MyCar{
private String CarName;
private String CarColor;
private int move;
public String getCarName() {
return CarName;
}
public String getCarColor() {
return CarColor;
}
public void setCarName(String CarName) {
this.CarName=CarName;
}
public void setCarColor(String CarColor) {
this.CarColor=CarColor;
}
public int getMove() {
return move;
}
public void addMove(int move) {
this.move+=move;
}
}
class MyCarMove{
MyCar mycar = new MyCar();
private List<Integer> moveList = new ArrayList<Integer>();
public void setCarInfo(String CarName, String CarColor) {
mycar.setCarName(CarName);
mycar.setCarColor(CarColor);
}
public MyCar getMyCar() {
return mycar;
}
public void addMove(int move) {
moveList.add(move);
mycar.addMove(move);
}
public int getTotalMove() {
return mycar.getMove();
}
public int getMove(int i) {
return moveList.get(i);
}
}
public class JavaBasicEx01 {
public static void main(String[] args) {
MyCarMove mc = new MyCarMove();
mc.setCarInfo("소나타", "검정");
mc.addMove(30);
mc.addMove(60);
mc.addMove(10);
System.out.println("총 이동 거리 : " + mc.getTotalMove() + "km"); //100
System.out.println("첫번째 이동 거리 : " + mc.getMove(0) + "km"); //30
MyCar m = mc.getMyCar();
System.out.println("모델 : " + m.getCarName()); //소나타
System.out.println("색상 : " + m.getCarColor()); //검정
System.out.println("이 차량의 총 주행거리 : " + m.getMove() + "km"); //100
}
}
728x90
'ksmart_Java > Java실습' 카테고리의 다른 글
배열실습_java (0) | 2022.02.20 |
---|---|
서로 다른 클래스_final_Java (0) | 2021.12.16 |
서로다른 클래스_Java (0) | 2021.12.16 |
하나의 클래스 최종_Java (0) | 2021.12.14 |
리턴없는 -> 리턴있는 메서드 호출 (0) | 2021.12.14 |