강의로 돌아가기
yangws1

메서드 오버라이딩이 잘 이해가 안됩니다.

주석처리되지 않은 tostring메서드들은 제대로 값이 나옵니다.
근데 주석처리된 메서드들은 이상한 값이 나오는 것 같습니다.
결과에 대해서 혹시 설명해 주실 수 있나요?

작성중인 코드―CarExam.java
1
2
3
4
5
6
7
8
9
//아래는 실행을 위한 코드입니다. 수정하지 마세요.
public class CarExam{
    public static void main(String[]args){
        Car ex = new Car();
        ex.name = "hello";
        ex.number = 1;
        System.out.println(ex.toString());
    }
}
작성중인 코드―Car.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Car{
    String name;
    int number;
    /*public String toString(Car car){
        return ("name : "+car.name+"number"+car.number);
    }*/ 
    public String toString(){
        return ("name : "+this.name+"number"+this.number);
    }
    public String toString(){
        return ("name : "+name+"number"+number);
    }
    /*public String toString(Car car){
        return ("name : "+name+"number"+number);
    }*/

    //toString을 오버라이드 해 보세요.
    //return 형식은 아래줄을 참고하세요: 
    //"name: " + name + ", number: " + number;


}
  • yangws1
    Carexam에서도 오버라이딩 해보려고 했지만 안되는 것 같습니다. 혹시 이런 결과가 나오는 이유가 무엇인지 알 수 있을까요? yangws1 2018.09.21 00:39
1 개의 답변
Demi

이상한 값이라 함은, 예상한 값과 다른 값이 나온다는 것 같은데요.
어떤 값을 예상하셨는지요?

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