안녕하세요. 문의 드릴 게 있습니다. 14:02 에서, 궁금한 게 있는데요. 저번 수업에서 업캐스팅일 때, 오버라이딩 함수가 아닌데, 자식 매서드를 호출하면 에러가 발생한다고 하셨었는데요, 지금처럼 show(int x)매서드는 오버라이딩이 아니지 않나요?? 그럼 궁금한 부부분이 단순 선언은 괜찮은건가요? 호출 시에만 문제가 되는건지 궁금합니다. 지금 14:02 에서 보여지고 있는 코드가 오류가 없는 코드인지 궁금합니다.
지금 class Parent { public String name = "Parent" ; } class Child extends Parent { public String name = "Child" ; // Parent의 name 변수를 hiding함 } 두 변수 모두 정적 변수가 아니라 인스턴스 변수? 인데 그럼에도 업캐스팅 한 객체에서 변수를 불러올때는 선언한 타입 클래스에 있는 변수를 불러온다는 것이겠죠? 재선언한 자식것을 가져오는것은 동일 형태의 매서드만 가져오는것이구요?
Set에서 Map으로 자연스럽게 빌드업되는 과정에서 Set + value = Map이 되는 객체지향의 묘미를 다시 한번 느껴보나 기대했는데 표준 라이브러리의 실제 구현은 반대로 Map - value = Set 이었네요 ㅠㅠ java.time 패키지의 딱딱 맞아떨어지는 조립방식에서 느껴졌던 희열은 어디갔을까요 자바의 내장 자료구조가 저렇게 부자연스럽게 되어있는 특별한 이유라도 있을까요? 구조적인 아름다움을 포기해서라도 얻는 성능적인 이점이 있는건가? 싶은데요 정확한 사정은 당사자들만 아는거겠지만 혹시나 선배님들은 아시는게 있을까 여쭈어봅니다..ㅠㅠ
쿠버네티스에서는 CRI규격에 맞춰진 dockershim이 있으니까 docker를 그대로 쓸수있다고 답변을 한다고 하셨습니다. 그게 1.5버전부터 dockershim이 들어갔구요. 그런데 그림을 보면 cri에 잇는 dockershim은 docker컨테이너와의 연결을 위해 필요한건데 강의 그림에서는 1.23이후로 dockershim이 deprecated되면 docker랑 화살표 그려지는 cri구현부부분에 dockershim이 빠지는건데 어떻게 1.24버전부터는 docker 컨테이너 런타임과는 연동을 할수가 없는거 아닌지요? 헷갈리네요
구현부는 쿠버네티스 프로젝트에 있는것이고, 이 프로젝트가 오픈소스이니까 각각의 런타임 측에서 docker나 rkt에서 쿠버네티스 프로젝트에 소스를 contribution 하는 형태이다.라고 했는데 쿠버네티스 프로젝트에 각 런타임쪽에서 소스를 만들어서...쿠버네티스 프로젝트로 기부했다는 말씀이신가요? 이해가 잘~~
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가 나와야 하는 것 아닌가요?? 어떻게 일곱번째 호출 반환으로 가게 된 건지 궁금합니다.