개발자

함수에서 다중반환은 잘 사용 안하나요?

2024년 07월 02일조회 63

코딩하다가 여러 값을 반환해야할때 클래스로 만들거나 map으로 만드는게 귀찮아서 다중반환을 사용해보려고 하는데, 보통 잘 사용하지 않나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

백승훈님의 프로필 사진

다중반환이 뭐죠..? 리턴은 하나 아닌가요? 값을 몇개 넣던지 객체나 배열로 변환해서 넣던지는 뭐 때에 따라 바뀔거같지만... 리턴이 두개이상이라는건가요?

문정동개발자님의 프로필 사진

문정동개발자

프론트엔드2024년 07월 04일

다중 반환을 지원하는 언어들이 있습니다. 문자열과 정수 두가지를 반환하려할 때 자바스크립트같은 경우는 배열로 해서 [1,'문자'] 이렇게 리턴하면 되지만, 정적타입 언어같은 경우에는 아예 저렇게 못하거나, 다이나믹 타입으로 지정해야하는데 다이나믹 타입을 쓰는순간 타입을 감지하지 못해서 정적타입 언어를 쓰는 장점이 사라지게됩니다.. 그래서 아래처럼 클래스를 만들어서 리턴을 하는게 일반적입니다. MyReturnType{ int val1; string val2; } 그런데 이게 실제 클래스까지 필요하지 않은 경우가 많아서 최신 언어들은 다중반환을 지원하게 되었습니다.

hwajin님의 프로필 사진

잘 사용합니다. 언어의 상세적인 구현의 차이일 뿐, 다중 반환이라고도 하고 튜플을 반환하기도 하고, 배열 또는 기타 여러 방법으로 원소를 뽑아내는 등의 작업이 신택스 슈가와 같이 제공할 뿐, 일반적인 형태입니다. 다만 다중 반환으로 얻는 이점이 제한적이기 쉬울 뿐입니다. 더 명확하게 반환시키는데 편하니까요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 07월 02일

함수에서 다중 반환을 사용하는 것이 효율적일 수도 있지만, 이는 상황에 따라 다르다. 다중 반환은 함수의 출력을 해석하는 데 명확성을 제공할 수 있지만, 사용자가 반환되는 값의 정확한 순서나 위치를 기억해야 하기 때문에 코드 가독성이 낮아질 수 있다. 또한, 다중 반환 값의 종류나 개수가 변경될 경우 함수를 호출하는 모든 부분에서 수정해야 하므로 유지 관리 측면에서 비효율적일 수 있다. 이러한 이유로 일부 프로그래머들은 단일 객체(예: 클래스 인스턴스나 데이터 구조)를 반환하고 필요한 정보를 해당 객체 내에 저장하는 형식을 선호한다. 그렇지만 어떤 상황에서는 간결하게 여러 값을 반환하는 것이 더 깔끔하고 직관적일 수 있다. 예를 들어, 파이썬의 경우 튜플 또는 딕셔너리 등으로 여러 값을 동시에 반환할 수 있는 구조 덕분에 다중 반환 방식이 자주 사용된다. 따라서 프로그래밍 언어와 개발 환경, 그리고 문제에 따라 다른 방법인 클래스 생성, 맵 사용, 다중 반환 중 어떤 것을 사용할지 결정하면 된다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!