inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

10-05 상품 삭제 API

인자에 객체 값을 넣는 이유

해결된 질문

290

송원

작성한 질문수 12

0

 인자에 객체 값을 넣는 이유가 안전하기 때문이라고 하셨는데 정확히 어떤 부분이 안전한지 알려주실 수 있나요?

javascript node.js express docker tdd rest-api nestjs

답변 2

0

노원두

안녕하세요! 소민님!

해당 이슈에 대해서는

01-04-이메일템플릿생성 30분 10초 영상에서 설명하고 있어요!
굉장히 중요한 내용이므로, 반드시 이해하고 이어서 수업을 들어주세요!

https://www.inflearn.com/course/lecture?courseSlug=%EB%B6%80%ED%8A%B8%EC%BA%A0%ED%94%84-%EB%B0%B1%EC%97%94%EB%93%9C-%EA%B3%A0%EB%86%8D%EC%B6%95-%EC%BD%94%EC%8A%A4&unitId=159086

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

함수의 인자에 객체 값을 넣는 이유는 여러가지 이유가 있지만, 여기서 ‘안전한 이유’에 대해서 알려드릴게요.

첫째로, 객체는 참조 타입이기 때문에 인자로 전달될 때에는 실제 객체가 복사되는 것이 아니라, 객체의 참조 주소가 전달됩니다. 이는 메모리 공간의 효율성과 성능을 개선할 수 있습니다. 만약 객체를 복사하여 전달하면, 객체의 크기가 크다면 메모리 사용량이 상당히 증가하게 됩니다.

둘째로, 객체를 인자로 전달할 때에는 원본 객체의 손상이나 수정이 일어날 수 없으며, 이를 통해 부작용이 최소화됩니다. 다시 말해, 함수 내부에서 인자로 전달된 객체를 수정하더라도 원본 객체는 변하지 않는 것이죠. 이로 인해 코드의 예측 가능성과 유지보수성이 높아지게 됩니다.

셋째로, 객체를 인자로 전달하는 것은 객체 지향 프로그래밍의 기본 원칙 중 하나인 캡슐화를 지킬 수 있도록 도와줍니다. 객체의 상태와 동작은 객체 자신이 책임지고, 외부에서는 그것을 직접적으로 조작하는 것이 아니라 인터페이스를 통해 간접적으로 상호작용할 수 있게 됩니다.

이렇게 인자에 객체 값을 넣는 것은 안전성과 효율성, 유지보수성 등 여러 면에서 이점이 있습니다. 하지만 주의해야 할 점은, 함수 내에서 인자로 전달된 객체를 수정하면서 예상치 못한 사이드 이펙트가 발생할 수도 있다는 것입니다. 따라서 객체를 인자로 전달할 때에는 신중하게 처리해야 합니다.

더 궁금한 점이 있다면 언제든지 물어보세요! 좋은 하루 되세요.

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

83

2

강의 전체 소스 코드를 받고싶습니다.

0

76

2

fontawesome 사용 문의

0

78

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

83

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

73

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

85

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

101

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

130

2

강의 전체 소스코드 받을수있을까요?

0

155

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

351

1

self-signed certificate in certificate chain 에러 발생

0

413

1

mongoose 설치 오류

0

142

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

282

2

08-06

0

178

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1