override 3

2022.03.16 Interpace 활용 <3단 구현> 코드로 보기

Interface Auth public interface Auth { //권한 void execute(); } UI AbstractUI // abstract = 추상클래스 // implement는 interface 상속 //추상클래스를 interface로 한번더 빼준다 (interface가 더 유연하니까) public abstract class AbstractUI implements Auth { private Scanner scanner; public void print(String msg){ System.out.println(msg); } public int inputInt(String msg){ System.out.println(msg); return Integer.parseInt(scanner.ne..

2022.03.15 퀴즈 만들기

퀴즈의 설계는 이런 식으로 해보려고 합니다 헌데 강사님이 말씀하신 것이 부모를 먼저 만드는 것이 아닌 자식을 먼저 만들고 그리고 거기서 중복적으로 사용되는 것들을 부모로 올려서 부모를 만들라고 하셔서 그렇게 진행 보겠습니다 우선 가장 먼저 ox퀴즈를 만들어보았습니다 만들어보니 중복되는 코드가 퀴즈 문제 , 퀴즈 정답 그리고 사용자의 대답 그리고 각 퀴즈를 설명해줄 수 있는 공간 등이 중복적으로 필요하다는 걸 알았습니다 그래서 그친구들을 부모 클래스로 옮겨서 만들었습니다 부모 Class Quiz @Setter public abstract class Quiz { //퀴즈 문제 하위에서도 봐야하기에 protected protected String title; //퀴즈 정답 하위에서도 봐야하기에 protecte..

눈 속임 Override

ui에서 input를 찾으면 아래 그림처럼 내부적으로 돌아가게 됩니다 이러면 어떻게 할 건데..? 이런 경우도 있을 수 있습니다 바로 SampleUI에 BasicUI에 input 하고 똑같은 input가 있다면??? 그럼 실행하는 입장에서는 BasicUI까지 올라갈 필요 없이 SampleUI에 있는 input를 보게 될 것입니다 이런 걸 바로 Override라고 합니다 Override 컴파일할 때는 부모 타입에 있는 메서드를 바라보고 있는데 실제로 실행을 할 때는 실핼될때 객체에 있는 메서드가 실행되는 것을 말합니다 마치 눈속임 같지요?? ✨Override는 상속과 인터페이스 관계에서만 성립합니다!! 그럼 왜 Override를 할까요?? 바로 상황에 따라서 다르게 동작해야 하는 부분을 Override로 ..

JAVA 2022.03.14