개발자
코딩하다가 여러 값을 반환해야할때 클래스로 만들거나 map으로 만드는게 귀찮아서 다중반환을 사용해보려고 하는데, 보통 잘 사용하지 않나요?
답변 2
문정동개발자
프론트엔드 • 2024년 07월 04일
다중 반환을 지원하는 언어들이 있습니다. 문자열과 정수 두가지를 반환하려할 때 자바스크립트같은 경우는 배열로 해서 [1,'문자'] 이렇게 리턴하면 되지만, 정적타입 언어같은 경우에는 아예 저렇게 못하거나, 다이나믹 타입으로 지정해야하는데 다이나믹 타입을 쓰는순간 타입을 감지하지 못해서 정적타입 언어를 쓰는 장점이 사라지게됩니다.. 그래서 아래처럼 클래스를 만들어서 리턴을 하는게 일반적입니다. MyReturnType{ int val1; string val2; } 그런데 이게 실제 클래스까지 필요하지 않은 경우가 많아서 최신 언어들은 다중반환을 지원하게 되었습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 07월 02일
함수에서 다중 반환을 사용하는 것이 효율적일 수도 있지만, 이는 상황에 따라 다르다. 다중 반환은 함수의 출력을 해석하는 데 명확성을 제공할 수 있지만, 사용자가 반환되는 값의 정확한 순서나 위치를 기억해야 하기 때문에 코드 가독성이 낮아질 수 있다. 또한, 다중 반환 값의 종류나 개수가 변경될 경우 함수를 호출하는 모든 부분에서 수정해야 하므로 유지 관리 측면에서 비효율적일 수 있다. 이러한 이유로 일부 프로그래머들은 단일 객체(예: 클래스 인스턴스나 데이터 구조)를 반환하고 필요한 정보를 해당 객체 내에 저장하는 형식을 선호한다. 그렇지만 어떤 상황에서는 간결하게 여러 값을 반환하는 것이 더 깔끔하고 직관적일 수 있다. 예를 들어, 파이썬의 경우 튜플 또는 딕셔너리 등으로 여러 값을 동시에 반환할 수 있는 구조 덕분에 다중 반환 방식이 자주 사용된다. 따라서 프로그래밍 언어와 개발 환경, 그리고 문제에 따라 다른 방법인 클래스 생성, 맵 사용, 다중 반환 중 어떤 것을 사용할지 결정하면 된다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!