유니티 보다가 질문함뉘다~
C#은 이렇게 오버라이드가 가능하던데요.
public void printList(List<string> list) {
}
public void printList(List<int> list) {
}
저 List가 타입별로 다 다르게 취급되나요?
자바는 이게 안되거든요.
public void printList(ArrayList<String> list) {
}
public void printList(ArrayList<Integer> list) {
}
안에 담기는 제네릭 타입은 다르지만 넓게보면 인자로받는 객체가 같아서(둘다 ArrayList라)
안되는걸로 이해하고 있었는데..~
그냥 단순히 언어의 차이로 이해하면 될까요??
답은 뭐다? 씨샵 해라
원래 그냥 C#으로 입문했으면 그러려니 하고 넘어갔을터인데, 자바를 하다가 C#을 보는거라 좀 갸우뚱 하는게 많네여ㅠ
둘다 안하지만 Type<T>랑 Type<S>랑 같은 타입으로 취급한다는 것 자체가 이해가 안가네
아 그렇네요 오버로딩입니다ㅎ
사실 c#에서도 리스트 제너릭에 object라고 해놓으면 객체로 받기는 하는데 자바가 이상한 것 같음... 사실상 c#은 다른 oop와 c의 장점을 다 스까 만든 거라서 다른 언어에서는 없는 편의 기능들이 많음.