-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
Member
20.09.05 11:11 작성 조회수 194
3
안녕하세요 개발자님, 강의 잘 듣고 있습니다. RowMapper <Member> <member>에서 <Member><member>를 사용하는 이유 (역할)가 뭔가요? 위에 오버라이드 된 부분에도 List<Member><member>라고 되어 있습니다. 같은 이유인가요? 검색해 봤는데 이걸 제네릭이라고 부르던데 맞나요?</member></member></member>
답변을 작성해보세요.
5
김영한
지식공유자2020.09.05
네 조금 더 보충을 해드리자면 다음과 같습니다.
List list -> list.add()로 세상의 모든 클래스로 만든 객체를 다 넣을 수 있음(Object, Member, Team 등등)
List<Member> list -> 리스트에 Member 클래스만 넣을 수 있음
List<Team> list -> 리스트에 Team 클래스만 넣을 수 있음
세상의 모든 클래스를 유연하게 다 담으면 편리할 것 같지만, 실상은 어떤 값이 들어가는 컬렉션인지 몰라서 꺼낼 때 일일이 하나하나 확인해야합니다. (오류도 많이 발생하구요^^)
제네릭이라는 것은 사실상 클래스의 타입을 사용해서 한계를 지정해주는 것이지요. 그러면 아 이 리스트에는 Member만 담을 수 있으니 Member만 조회되겠구나! 하고요. 그래서 제약에서 오는 장점을 활용할 수 있습니다.
도움이 되셨길 바래요^^
3
2
김영한
지식공유자2020.09.05
네 맞습니다. 자바같은 언어는 타입 정보가 중요한데, 이 타입 정보를 지정하는 것입니다. 예를 들어서 List<Member>라고 하면 Member 타입만 담을 수 있는 List라는 정보를 명확하게 명시할 수 있어서, 혹시라도 Team 같은 다른 객체를 입력하면 컴파일 오류가 발생합니다.
제네릭 관련해서는 자바 기본 문법인데 꼭! 공부해보시길 권장드려요^^
감사합니다.
0
시원한 제비
질문자2020.09.05
답변 감사드립니다. Member 타입이라 하면 domain 폴더에 있는 Member class 안에 명시되어있는 정보만 올 수 있다는 말씀이신가요?
답변 4