일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 블록체인
- 그라파나
- 하이브리드앱
- 스칼라 강좌
- akka 강좌
- 파이썬 머신러닝
- 엔터프라이즈 블록체인
- 플레이프레임워크
- 이더리움
- Golang
- 파이썬
- 파이썬 데이터분석
- Adapter 패턴
- 스위프트
- Play2 로 웹 개발
- 파이썬 강좌
- CORDA
- 주키퍼
- Hyperledger fabric gossip protocol
- 파이썬 동시성
- Actor
- 안드로이드 웹뷰
- Play2
- Akka
- play 강좌
- 스칼라 동시성
- play2 강좌
- hyperledger fabric
- 스칼라
- 하이퍼레저 패브릭
- Today
- Total
HAMA 블로그
Call by value in Polyglot 본문
"자바는 call by value 입니다."
자바는 객체를 가르키는 레퍼런스라는 개념이 있는것이지, 이게 함수의 매개변수로 넘어갈때는
call by value 로 넘어갑니다. 즉 레퍼런스 그 자체가 deep copy 되어 넘어갑니다.
언어별 정리
C : call by value ( 포인터 그 자체도 매개변수로 넘어갈때 value 복사됨, clone copy 됨 )
C++ : call by value ( "& 레퍼런스" 일 경우 call by reference , 즉 clone copy 하지 않음 )
Java : call by value ( 레퍼런스 그 자체도 매개변수로 넘어갈때 value 복사됨, , clone copy 됨 )
C# : call by value ( "ref" 키워드 붙으면 call by reference , 즉 clone copy 하지 않음 )
Python : call by value ( python은 모두 객체이기때문에, call by object 라 불리지만, 이 글에서는 이해를쉽게하고자 저렇게 말함, 즉 자바의 객체 레퍼런스를 넘기는것과 동일 효과)
Javascript : call by value ( 자바,파이썬과 동일)
마지막으로 reference 의 구체적 정의는 각 언어에서 그것을 사용한 놈 마음이기 때문에
C++ 을 만든 사람은 그것을 어떻게 차용했는지 알아보려면 아래 링크 보시면 됩니다. ~
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html\
'소프트웨어 사색 ' 카테고리의 다른 글
가벼운 웹사이트 만들기 (0) | 2015.12.01 |
---|---|
JIT 잡동사니 (0) | 2015.11.29 |
딥러닝 라이브러리 - Caffe (머신-비전 특화) (0) | 2015.11.18 |
WebRTC (0) | 2015.11.13 |
객체 복제 in Polyglot (0) | 2015.11.13 |