JavaRush /Java Blog /Random-KO /참조 유형의 확장/협소화: 다양한 소스 - 다양한 해석
Core
레벨 35
Екатеринбург

참조 유형의 확장/협소화: 다양한 소스 - 다양한 해석

Random-KO 그룹에 게시되었습니다
좋은 오후에요. JavaRush 강의에 오류가 있다는 의혹이 있습니다. Parent 클래스와 이를 상속받은 Child 클래스가 있다고 하고 , 레벨 12 강좌 Parent parent = new Child; Child child = (Child) parent; 강의에 따르면 1과(1. 다형성 및 재정의), 5항)(Type casting)이라는 코드를 작성합니다 . ) 첫 번째 줄은 축소, 두 번째 줄은 확장(강의에서는 가 부모, 고래 가 상속자) 그러나 이는 사실이 아닙니다. 모든 것이 정반대입니다. 설명된 내용의 의미는 분명합니다. 첫 번째 줄에서 Child 유형의 개체를 만들고 해당 개체의 사용을 Parent 클래스에 설명된 메서드로만 제한했습니다. 그러나 이는 확장이므로 이러한 축소는 암묵적으로 발생합니다. 그리고 레벨 10의 추가 자료에는 이렇게 적혀 있었습니다: 링크할 텍스트...
확장은 보다 구체적인 유형에서 덜 구체적인 유형으로 이동하는 것을 의미합니다. 자녀에서 부모로의 전환. 이 예에서 상속인(Child, Child2)에서 부모(Parent)로의 변환은 확장, 즉 보다 일반적인 유형으로의 전환입니다. 기본 유형의 경우와 유사하게 이 전환은 필요한 경우 JVM 자체에 의해 이루어지며 개발자에게는 보이지 않습니다. 즉, 항상 성공하므로 추가 노력이 필요하지 않습니다. 부모의 유형에 따른 상속자. 부모 p1=새 자식(); 부모 p2=new Child2(); 두 줄 모두에서 Parent 유형의 변수에는 다른 유형의 값이 할당되며 이는 변환이 발생함을 의미합니다. 이것은 확장이므로 자동으로 수행되며 항상 성공합니다.
반대로 내 예의 두 번째 줄은 동일한 추가에 따른 것입니다. 재료는 괄호 안에 유형을 명시적으로 표시해야 하는 축소입니다. 그리고 강의에서는 확장으로 해석되는데 아마 틀릴 수도 있으니 설명 부탁드립니다. 나는 유형 캐스팅에 대해 이중으로 상충되는 견해를 갖고 싶지 않습니다. 아래는 강의 일부입니다. 강의 단편 (이전) 강의에서도 여전히 오류 의혹이 남아있는데, 이에 대해서는 어디에 써야 할까요? FAQ에서 찾지 못했습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION