Korean subtitles

← 21-47 The Display Method

Get Embed Code
6 Languages

Showing Revision 1 created 11/25/2014 by Robin Rheem.

  1. 이제 display 메소드를 구현해보겠습니다. 이 형식으로
  2. 선택 질문을 출력해야 하고, 첫 번째로 질문의 텍스트를 출력하고
  3. 1, 2, 3, 4 선택지를 모두 출력합니다. 숫자를 넣은 이유는, 테스터가
  4. 구분 못할 수도 있는 상황을 대비해서 넣은 겁니다.
  5. 이 부분은 하기 쉽습니다. 그저 반복문으로 번호를
  6. 출력하면 됩니다. 그리고 이는 상속과 관계없는
  7. 일이라서 여러분에게 코드를 그냥 주겠습니다. 여기에 있습니다.
  8. i 번째 선택지와 i번째 요소를 출력합니다. 확실히 i번째로
  9. 하지는 않습니다, 왜냐하면 자바는 인덱스가 0부터 시작해서 입니다.
  10. 그래서 여기서 i에 1을 더하게 됩니다.
  11. 어려운 부분은, 질문의 텍스트를 출력하는 것입니다.
  12. 질문의 텍스트는 슈퍼 클래스의 객체입니다. 그리고 직접적으로
  13. 가져올 수 없습니다. 슈퍼 클래스를 봅시다. 이 변수가
  14. 질문 텍스트입니다. 이를 읽어줄 수 있는 메스도가 있나요? display를
  15. 호출하고 출력하면 됩니다. 필요한 것을 찾았으니 해봅시다. 여기서
  16. display를 호출하면 텍스트를 출력하게 되고 여기에 선택지들을
  17. 모두 출력합니다. 오! 되게 안 좋은 일이 생겼군요. 스택 오버플로우가
  18. 생겨버렸군요. 이는 바로 메소드가 자기 자신을 계속 부르는
  19. 형태를 말합니다. 왜 자기 자신일까요? 이 메소드는 display입니다.
  20. 자기 자신을 부르죠. 그게 문제입니다. 여기 안에 있는 메소드가 아닌
  21. Question 클래스에 있는 display를 호출하고 싶습니다. 이 상황은 바로
  22. 슈퍼 클래스와 서브 클래스에 같은 이름의 메소드가 있어서 문제가 된 겁니다.
  23. 메소드를 덮어쓸 때 꼭 이러한 일이 일어납니다.
  24. 이를 해결해주는 특별한 문법이 있습니다.
  25. 간단하게 super.display()를 하시면 됩니다. 이를 이렇게
  26. 해보시고 프로그램을 고쳐보세요.