본문 바로가기
java

[java] 헷갈리는 return의 의미: 결과반환 or 호출한 곳으로 가기

by CodeMango 2023. 2. 22.

Java에서 return은 메서드가 수행한 결과를 반환하거나, 메서드의 실행을 중단하고 해당 메서드를 호출한 곳으로 돌아가는 역할을 합니다.

 

 

코드1번

	public List<MemberDto> allMember() {

		//Member.xml의 namespace가 Member이므로 "Member" 대입
		//Member.xml의 select 태그의 id값이 allMember이므로 "allMember" 대입
		return session.selectList("Member." + "allMember"); //Member.allMember
	}

1번 코드에서 return 키워드는 allMember 메서드가 반환하는 값을 호출한 곳으로 전달하는 역할을 합니다.

해당 코드에서는 session.selectList를 호출하여 List<MemberDto> 타입의 값을 반환하고 있으므로, 이 값을 호출한 곳으로 전달하고 있습니다.

 

코드2번

@RequestMapping(value= "home.do",method=RequestMethod.GET)
	public String home(Model model) { //데이터 갖고 떠나기 위해 model 추가
		
		//service의 allMember를 호출하는곳 
		List<MemberDto> list= service.allMember(); //리스트 가져오기
		//짐싸!
		model.addAttribute("list", list); //데이터 갖고 떠나기 위해 model 추가.
		//전에는 request.setAttribute로 보냈는데, 스프링에서는 model.addAttribute로 보낸다
		
		return "home"; // home.jsp로 가라.

 

2번 코드에서 return 키워드는 해당 메서드가 렌더링할 뷰의 이름을 반환하는 역할을 합니다.

해당 코드에서는 "home"이라는 문자열을 반환하고 있으므로, home.jsp 뷰를 렌더링하는 것입니다.

 

따라서, 1번 코드에서는 반환 값을 호출한 곳에서 활용할 수 있게 전달하고, 2번 코드에서는 렌더링할 뷰의 이름을 반환하여 해당 뷰를 렌더링하는 역할을 합니다.

'java' 카테고리의 다른 글

[개념]JDK, JRE, JVM  (0) 2023.05.26
"/" (슬래시)의 의미 = 생략  (0) 2023.03.26
[java] 인터페이스 interface  (0) 2023.02.21
[java] 추상클래스,추상메서드  (0) 2023.02.21
[JAVA/스프링] setAttribute getParameter / getParameter  (0) 2023.02.21

댓글