안녕하세요. 문의 드릴 게 있습니다. 14:02 에서, 궁금한 게 있는데요. 저번 수업에서 업캐스팅일 때, 오버라이딩 함수가 아닌데, 자식 매서드를 호출하면 에러가 발생한다고 하셨었는데요, 지금처럼 show(int x)매서드는 오버라이딩이 아니지 않나요?? 그럼 궁금한 부부분이 단순 선언은 괜찮은건가요? 호출 시에만 문제가 되는건지 궁금합니다. 지금 14:02 에서 보여지고 있는 코드가 오류가 없는 코드인지 궁금합니다.
지금 class Parent { public String name = "Parent" ; } class Child extends Parent { public String name = "Child" ; // Parent의 name 변수를 hiding함 } 두 변수 모두 정적 변수가 아니라 인스턴스 변수? 인데 그럼에도 업캐스팅 한 객체에서 변수를 불러올때는 선언한 타입 클래스에 있는 변수를 불러온다는 것이겠죠? 재선언한 자식것을 가져오는것은 동일 형태의 매서드만 가져오는것이구요?
만약 REPOSITORY 내의 HEAD 의 위치를 최신 COMMIT 보다 아래에 위치 시켰을 때, 강사님의 설명에 의하면 WORKING AREA 의 내용도 HEAD 의 위치의 내용으로 변경된다고 학습했습니다. 이 상태에서 커밋을 하게 되면 커밋되는 내용은 최신 COMMIT 을 기준으로 하는지 HEAD를 기준으로 하는지 궁금합니다. 아울러 브랜치도 최신 commit 을 기준으로 생성되는지 또는 HEAD 의 위치를 기준으로 생성되는지 궁급합니다. 좋은 강의 감사합니다.
Set에서 Map으로 자연스럽게 빌드업되는 과정에서 Set + value = Map이 되는 객체지향의 묘미를 다시 한번 느껴보나 기대했는데 표준 라이브러리의 실제 구현은 반대로 Map - value = Set 이었네요 ㅠㅠ java.time 패키지의 딱딱 맞아떨어지는 조립방식에서 느껴졌던 희열은 어디갔을까요 자바의 내장 자료구조가 저렇게 부자연스럽게 되어있는 특별한 이유라도 있을까요? 구조적인 아름다움을 포기해서라도 얻는 성능적인 이점이 있는건가? 싶은데요 정확한 사정은 당사자들만 아는거겠지만 혹시나 선배님들은 아시는게 있을까 여쭈어봅니다..ㅠㅠ
05분 30초 부분에 "왜 CPU 수와 스레드 수를 맞추는 것이 효율적인지에 대해 이해가 잘 안 가면 ~~를 참고하시라." 라고 하셨는데 이와 관련하여 궁금하신 분을 위해 정보 남겨둡니다. 영상: 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 - 섹션 2. 프로세스와 스레드 소개 - 컨텍스트 스위칭 영상 1분 ~ https://www.inflearn.com/courses/lecture?courseId=334352&type=LECTURE&unitId=232316&tab=curriculum
해당 시간대 영상 화면의 설명 중 가운데 다단에 '여덟번째 호출 반환'에서 a가 반환되는 것은 이해했습니다. 그렇게 되면 자바 코드 하단의 String result 변수에는 a가 저장되고, 마지막에 result 변수값을 출력하면 a가 나와야 하는 것 아닌가요?? 어떻게 일곱번째 호출 반환으로 가게 된 건지 궁금합니다.
if의 조건이 잘 이해되지 않아요. 제가 이해한 바로는 처음 seen 배열을 선언할 때 배열에 들어갈 값들을 지정하지 않았으므로, 256칸 전부에 모두 0으로 값이 초기화되었고, 따라서 !seen[c] 는 항상 !0 = 1 인 것으로 보입니다. 제가 이해한 게 맞을까요?