제대로 알아야 답변을 주죠 대충 업캐스팅 다운캐스팅 관련 내용이고 씨샵 제네릭 구현이 전반적으로 성능면에서 자바보다 훨씬 효율적이라는것 정도만 알고 있습니다 ㅠㅠ
익명(118.235)2025-06-25 10:03:00
답글
쪼금 찍먹해서 몇군데 쓰고 있는데 이게 분기문보다 정말 나은 건지 아직도 모르것음
211214(tomatoss)2025-06-25 15:12:00
그게 뭐죠 - dc App
익명(rent1081)2025-06-25 10:29:00
제네릭 공변 반공변은 타입 캐스팅을 제네릭 타입에도 적용할 건지 설정하는 거임
간단하게 string 타입을 object 변수에 타입 캐스팅 할 수 있지만 제네릭 컬렉션인 List<string> 타입을 List<object> 타입으로 캐스팅 하는 건 기본적인 불공변 상태에서는 안 됨
공변은 위의 캐스팅이 가능하다는 거고 반공변은 반대인데
Indie 1(14.36)2025-06-25 10:38:00
답글
추상 타입으로는 애매하고 좀 더 구체적인 기능이 필요 할 경우까지 감안해야 할 때 씀
근데 애매하면 걍 쓰지말고 구체적인 클래스로 상속하던가 이름 잘 지어서 일반적으로 쓸만한 인터페이스를 붙이던가 해서 별도 스펙으로 제공하는 게 나을 수도 있음
Indie 1(14.36)2025-06-25 10:42:00
걍 generic의 사전적 의미인 포괄이란 뜻대로 어떤 형식이든 포괄적으로 쓸 수 있는 게 generic으로 이해하고 잇슴 - dc App
그게 뭐죵
제대로 알아야 답변을 주죠 대충 업캐스팅 다운캐스팅 관련 내용이고 씨샵 제네릭 구현이 전반적으로 성능면에서 자바보다 훨씬 효율적이라는것 정도만 알고 있습니다 ㅠㅠ
쪼금 찍먹해서 몇군데 쓰고 있는데 이게 분기문보다 정말 나은 건지 아직도 모르것음
그게 뭐죠 - dc App
제네릭 공변 반공변은 타입 캐스팅을 제네릭 타입에도 적용할 건지 설정하는 거임 간단하게 string 타입을 object 변수에 타입 캐스팅 할 수 있지만 제네릭 컬렉션인 List<string> 타입을 List<object> 타입으로 캐스팅 하는 건 기본적인 불공변 상태에서는 안 됨 공변은 위의 캐스팅이 가능하다는 거고 반공변은 반대인데
추상 타입으로는 애매하고 좀 더 구체적인 기능이 필요 할 경우까지 감안해야 할 때 씀 근데 애매하면 걍 쓰지말고 구체적인 클래스로 상속하던가 이름 잘 지어서 일반적으로 쓸만한 인터페이스를 붙이던가 해서 별도 스펙으로 제공하는 게 나을 수도 있음
걍 generic의 사전적 의미인 포괄이란 뜻대로 어떤 형식이든 포괄적으로 쓸 수 있는 게 generic으로 이해하고 잇슴 - dc App