@Override public void print() { super.print(); System.out.println("- 저자: " + author + ", isbn:" + isbn); } 다름이 아니고 @Override를 하는 이유가 부모에서 사용하는 메서드를 자식에서 재사용을 위해서 사용하신다고 했는데 궁금한 게 강의 내용 중에 객체를 생성하고 메서드를 사용할 경우 먼저 자식을 보고 그다음에 없으면 부모를 보신다고 하셨는데 그러면 이미 자식에는 print가 있으니까 저렇게 super.print();를 붙이면 굳이 @Override를 안 붙여도 상관없지 않나요? 관례가 있어서 많은 개발자분들께서 붙인다고 하셨는데 저 경우에는 재사용이 아니고 바로 자식 쪽에서 메서드가 있으니까 굳이 부모까지는 갈 필요가 없지 않나요??
학습관련 질문을 남겨주세요! 상세히 작성주시면 더 좋아요 🙂 안녕하세요, 강사님 🙂 이번 질문도 혼자 먼저 구현 후, 강사님의 강의를 들으며 리팩토링을 진행하며 궁금증이 하나 생겨 질문 드립니다. 저는 search-api 모듈의 com.library.repository의 NaverBookRepository.class 위치를 강사님과 다르게 external:naver-client 에 위치시켰습니다.(NaverBook/KakaoBook은 external 에 종속된 구현체라고 생각) 그러다 보니, naver-client 모듈이 search-api 모듈에 있는 BookRepository, PageResponse, SearchResponse 를 알아야 했으며, naver-client 모듈이 search-api 모듈을 implementation('...') 으로 의존?참조? 하게 되었습니다. // search-api 모듈 public interface BookRepository { PageResponse<SearchResponse> search(...); } 이렇게 external -> search-api 로 흘러가는 의존 방향에 이질감이 듭니다.(외부 API 가 app 을 안다..?) 그래서 모듈간 의존 방향이 search-api -> external 되도록 강사님 강의처럼 NaverBookRepository 를 search-api 모듈에 위치 시켜도 NaverClient 때문에 search-api에 feign 종속성이 생긴 다는 것이 모듈간 의존성 격리가 되지 않아서 멀티모듈의 장점이 퇴색되었다고 생각합니다. 강사님은 과제가 아닌 실무에서 search-api 와 external 간의 모듈 격리를 어떻게 하시며, 의존 방향을 어떻게 하시는지 궁금합니다. 저의 부족한 지식을 확장할 수 있게 강사님의 인사이트 공유해주시면 감사하겠습니다!
안녕하세요 31분 50초 Child() 함수에 this(5000) 이 있는데 부모를 호출 할 수 있나요? 저는 super, this 아무것도 없을때 명시적으로 super 는 없지만 자동으로 부모를 호출한다 super 가 있으면 부모를 호출한다. super, this 는 함께 못 쓰인다. 이렇게 알고 있어서, 문제를 풀 때 super 가 명시적으로 없어도 항상 숨어있다고 생각하고 접근했습니다. 그래서 Child() 생성자에 this 가 있으면 super 는 실행되지 않는다고 생각해서 부모 생성자 호출 과정을 제외하고 풀었는데, 결과가 다르게 나와서 헷갈렸습니다 this 가 있는데도 부모 호출이 맞는지 궁금합니다. 그리고 부모를 호출한다면 child() -> parent() -> parent(int x) -> child(int x) 순서가 맞는지도 알려주세요
Java: 상속을 정리하는 문제 10개 Java 강의를 들으면서 자식을 호출할 때 부모 기본 생성자 또는 부모꺼를 호출 후 자식 것을 호출해야한다는 내용과 자식만 호출해도 되는 경우의 내용이 섞여서 나오는데 자식을 호출할 때 부모 기본 생성자 또는 부모꺼를 호출 후 자식 것을 호출하는 경우가 어떤 것이 있는지 정리해서 알려주실 수 있을까요?
Java: 상속을 정리하는 문제 10개 7:29 obj.show(); 출력 관련해서 부모 클래스에 있는 void show()는 출력안하고 자식 클래스에 있는 void show()만 출력하는 것에 대해서 원래는 자식 클래스 출력을 할 시 부모 클래스에 기본 생성자를 출력하고 자식 클래스 출력을 해야한다고 알고 있는데 이 문제 경우에는 void로 되어 있어서 부모꺼는 출력하지 않고 자식꺼만 출력하는건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 9번에 ==연산자와 equals 메서스 둘다 물리적 동일성 이라고 해야 맞는거아닌가요? 오버라이딩 되지 않은 기본 equals 는 ==으로 비교하고 논리적 동등성은 String 변수.equals 한정 아닌가요??
12:50의 업캐스팅 문제 예시4는 super.paint()이 전에 A를 먼저 참조하고 Constructor of A를 쓰는데 15:39의 업캐스팅 문제 예시6은 왜 super(10)이 있는데 바로 생성자 of AA10이 되나요?? super.paint와 super(10)의 차이인가요?
29분 51초의 화면 기준으로 아래 코드를 보면 node가 None인지를 먼저 판단하는것 같습니다. 즉, 위 코드에 if가 2개 존재하는데, 그 중 오른쪽 if 조건을 먼저 판단하는 것 같습니다. 제가 제대로 알아들은게 맞을까요?? 그런데 result = "왼쪽 성공!" if True else "가운데" if (1 / 0 == 1) else "오른쪽" print(result) 이 코드를 실행시켜보면, 왼쪽 성공이 출력됩니다. 그럼 왼쪽의 if를 먼저 판단한다는거같은데... 제가 어디서 잘못 생각하고 있을까요??
업캐스팅(부모 형태, 자식 생성자) 5:33 결론으로, 에러가 발생한다고 하는데 현재 업캐스팅 상태여서 에러가 뜬다고 하는 것 같은데 만약에, 업캐스팅이 아닌 자식=new 자식 이면 public void chargeBattery() 메서드는 정상적으로 출력이 되는건가요?