Lv1: https://github.com/BibliyaSeo/console-kiosk/tree/dev/src/main/java/org/example/lv1
Lv2: https://github.com/BibliyaSeo/console-kiosk/tree/dev/src/main/java/org/example/lv2
리스트 값을 for문 돌려서 불러오려고 하는데 참조 값이 나타남. 어떻게 해결해야 할까?
<aside> 📌
나는 b를 선택했다. 이유는 여러 번 같은 문장으로 출력해 줘야했기 때문에 한번에 틀을 정해서 설정해놨다.
@Override
public String toString() {
return id + ". " + name + " | W " + price + " | " + description;
}
toString()은 Java에서 기본적으로 가지고 있는 메서드다. 모든 클래스는 암묵적으로 Object 클래스를 상속받고 Object 클래스에는 toString()이 내장되어 있다.
여기서 의문점! 그럼 사용할 때 꼭 @Override를 해서 사용해야 하는건가?
<aside> 📌
하지 않아도 문제는 없지만! 일반적으로 @Override를 적고 사용하는 편
</aside>
Override가 뭔데?
<aside> 📌
오버라이드란 상속받은 메서드를 내 방식대로 다시 만드는 것 즉 여기선 Object(부모 클래스)에 있는 toString()을 내 입맛대로 다시 자식 클래스에서 재정의한 것
</aside>
Lv1에서는 switch-case 사용, Lv2에서는 if 사용
<aside> 📌
Lv1에서는 숫자를 받으면 그 숫자에 따라 내가 적어둔 것을 출력할 수 있게 만들어 뒀는데 Lv2로 가니까 리스트로 관리하게 되면서 리스트의 id값과 입력하는 값을 비교해서 값을 출력할 수 있게 되었다. 길이가 딱 정해진 고정된 케이스가 아니기 때문에 if문으로 변경해 주었다.
</aside>