묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
제네릭 메서드
영한님 좋은 강의 올려주셔서 감사합니다.제가 문제와 풀이 강의를 들으면서 든 의문이 있어서 커뮤니티 글을 봤는데 저와 비슷한 질문을 하신 분이 계시더라고요.근데 그분의 코드를 보면서 질문이 생겼습니다. static <T extends Shuttle> void printV1(T shuttle)static <T extends BioUnit> void printV1_1(Shuttle<T> shuttle) 위 두 코드의 차이가 뭔가요?제가 생각하기엔 첫번째 코드의 T는 Shuttle<Marine> 이고 두번째 코드의 T는 Marine인데 맞는건가요?
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
제네릭에 never가 들어올 때 분배법칙
분배법칙의 작동방법 이해가 어려워 타입스크립트 교과서를 보던 중 모르는 부분이 생겨서 질문드립니다!해당 내용은 타입스크립트 교과서 p.111에 있는 내용인데요type R<T> = T extends string ? true : false; type RR = R<never>; 이 코드의 설명 부분이 아래와 같이 되어 있습니다.RR 타입이 true가 아니라 never인 이유는 T가 never가 되면서 분배법칙이 일어났기 때문이다.never는 공집합과 같으므로 공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것과 같다.따라서 결과는 never다.설명이 잘 이해가 되지 않아 질문 드립니다!분배법칙이 일어났다는 것은 never가 never|never로 유니언으로 분리되서 각각 타입검사를 하게 되는건가요?그렇다면 never extends string ? true : false 가 되어서 분배 되어 각각 타입검사를 해서 true | true 가 되고 최종적으로 true 가 되어야하지 않나요?공집합에서 분배법칙을 실행하는 것은 아무것도 실행하지 않는 것이라는 말이 무슨 말인지 잘 모르겠습니다..
-
미해결타입스크립트의 모든 것
제네릭 extends관련질문 있습니다.
function test<T extends object>(params:T){ params.hi()}위 코드에서 params.hi()는 타입을 보장할수 없다는 에러가 반환됩니다. 여기서 궁금한게 test<T extends object>를 해주었는데 왜 타입보장이 안된다구 하는지 모르겠습니다. 물론 hi의 타입을 몰른다 라구 하더라도 object 프로퍼티에 접근할때 dot으로 접근할수있는데 왜 타입 보장이 안된다고 하는걸까요??왜 따로 interface IHi를 만들어서 그거를 extends해줘야 하는것일까요?? 물론 IHi하면 타입을 좀더 촘촘하게 설정해주어서 params안에는 hi라는 메소드가 들어간다는걸 인지시켜줄순 있겠지만 그래도 오브젝트가 사용될수 없는 이유는 모르겠습니다.
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
Generic에 대한 질문이 있습니다.
안녕하세요 강사님 Generic에 대한 강의를 보면서 오버로딩에 대한 단점을 보완하기 위한 것이라고 이해를 하고있는데요 그러면 실제 게임을 만들때나 실무적으로 오버로딩이 필요한 경우는 거의 대부분 Generic 을 이용하여 코드를 짜는건가요? 아무리 생각해봐도 오버로딩은 Generic의 완벽한 하위호환으로 밖에 이해가 되질 않습니다.
-
미해결최신 SwiftUI와 UIKit과 함께하는 올인원 iOS 앱 개발 강의
강의순서가 바뀐 것 같아요!
extension강의와 generic강의가 바뀌었어용