[CS] 함수 호출 방법 Call by value vs Call by referenceCS/CS2021. 11. 18. 16:50
Table of Contents
1. 함수의 호출 방법
- 값에 의한 호출(call by value)
- 참조에 의한 호출(call by reference)
1) Call by value(값에 의한 호출) : 인자로 받은 값을 복사하여 처리.
- 인자로 받은 값에 직접적인 영향을 주지 않는다.
- 단점 : 복사를 하기 때문에, 메모리 양이 늘어난다. (과부하의 원인)
- 장점 : 복사를 하기 때문에, 원래 값은 영향을 받지 않아 안전하다.
2) Call by referencr(참조에 의한 호출) : 인자로 받은 값의 주소를 참조하여 처리.
- 인자로 받은 값에 직접적인 영향을 준다.
- 장점 : 복사를 하지 않고 직접 참조하기에, 빠르다.
- 단점 : 직접 참조를 하기에 원래 값이 영향을 받아, 리스크가 있다.
3) Call by assignment(Call by object-reference_객체 지향)
- Python은 모든 것을 객체로 판단하는 객체지향인 편. 객체, 절차지향 비교 포스트에서 자세히 다룰 예정.
- immutable한 포멧의 객제(tuple 등)은 변경 할 수 없음.
- mutable한 포멧의 객체(list, dictionaty, 직접 만든 클래스 등)은 변경 할 수 있음.
'CS > CS' 카테고리의 다른 글
[CS] 캐시(Cache)란? (0) | 2021.12.12 |
---|---|
[CS] 컴파일러(Compiler)란? (0) | 2021.12.12 |
[CS] 코딩 할 때 단어 표기법(camelCase, snake_case, UpperCase .,) (0) | 2021.12.07 |
[CS] 자료구조란? 알고리즘이란? (0) | 2021.11.18 |
[CS] 절차지향 vs 객체지향 (0) | 2021.11.18 |
@Yanako :: Yana's coding story였는데요, 우당탕탕 개발일지가 맞는것같
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!