inflearn logo
강의

Course

Instructor

Spring for Beginners - Learn Spring Boot, Web MVC, and DB Access Technology with Code

Spring JdbcTemplate

Member

Resolved

316

ldh9601020127

10 asked

3

안녕하세요 개발자님, 강의 잘 듣고 있습니다. RowMapper <Member> 에서 <Member>를 사용하는 이유 (역할)가 뭔가요? 위에 오버라이드 된 부분에도 List<Member>라고 되어 있습니다. 같은 이유인가요? 검색해 봤는데 이걸 제네릭이라고 부르던데 맞나요?

MVC java spring spring-boot

Answer 4

5

yh

네 조금 더 보충을 해드리자면 다음과 같습니다.

List list -> list.add()로 세상의 모든 클래스로 만든 객체를 다 넣을 수 있음(Object, Member, Team 등등)

List<Member> list -> 리스트에 Member 클래스만 넣을 수 있음

List<Team> list -> 리스트에 Team 클래스만 넣을 수 있음

세상의 모든 클래스를 유연하게 다 담으면 편리할 것 같지만, 실상은 어떤 값이 들어가는 컬렉션인지 몰라서 꺼낼 때 일일이 하나하나 확인해야합니다. (오류도 많이 발생하구요^^)

제네릭이라는 것은 사실상 클래스의 타입을 사용해서 한계를 지정해주는 것이지요. 그러면 아 이 리스트에는 Member만 담을 수 있으니 Member만 조회되겠구나! 하고요. 그래서 제약에서 오는 장점을 활용할 수 있습니다.

도움이 되셨길 바래요^^

3

ldh9601020127

너무너무 감사드립니다. 입문 수업을 다 마치고 다음 수업도 꼭 들어 봐야겠습니다.

2

yh

네 맞습니다. 자바같은 언어는 타입 정보가 중요한데, 이 타입 정보를 지정하는 것입니다. 예를 들어서 List<Member>라고 하면 Member 타입만 담을 수 있는 List라는 정보를 명확하게 명시할 수 있어서, 혹시라도 Team 같은 다른 객체를 입력하면 컴파일 오류가 발생합니다.

제네릭 관련해서는 자바 기본 문법인데 꼭! 공부해보시길 권장드려요^^

감사합니다.

0

ldh9601020127

답변 감사드립니다. Member 타입이라 하면 domain 폴더에 있는 Member class 안에 명시되어있는 정보만 올 수 있다는 말씀이신가요?

인텔리제이 오류

0

34

1

..

0

99

2

Unused property.....

0

110

2

project JDK is misconfigured

0

151

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

94

2

단위/통합 테스트 버전충돌 문제

0

96

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

245

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

116

2

윈도우 build test오류 질문

1

113

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

107

2

테스트 실행 시 에러 질문

0

306

1

name을 통한 비교와 객체를 통한 비교

0

78

1

빌드 후 libs 없음

1

140

1

윈도우 gradlew.bat 에러

0

177

1

@PostMapping("/members/new")가 동작하지 않습니다

0

95

1

java static class와 kotlin class

0

86

1

스프링 DB연결

0

138

1

소요 시간

0

94

2

ddl.sql에 빨간 밑줄

1

110

2

welcome page 에러

0

193

3

잘 모르겠습니다.

0

170

2

fail을 똑같이 쳤는데 오류가 발생해요

0

168

2

index.html Welcome page

0

133

1

프로젝트 gradle-groovy ?

0

394

1