글쓴이: 익명 사용자 / 작성시간: 화, 2017/07/11 - 6:10오후
자바를 배운적이 없는데 문득 궁금해져서
검색해보니
c에서 사용하는 것과 같은 느낌의 포인터는 없지만 비슷한 개념이 사용되는거 같은데
그러면 예를들어
c main에서
char* a[100];
을 함수에 넘길떄
void recv(char *pointer);
이런형태가 되고
pointer는 a의 메모리값을 가르키는 걸로알고있는데
자바는
a[100]을 그대로 복사해서 하나더 만드는건가요?
네, 자바는 포인터 따로 없습니다.
네, 자바는 포인터 따로 없습니다.
인수 전달시 기본형(int, long, float)일때는 call by value지만, 클래스를 넘길때는 call by reference가 됩니다. 받은 클래스의 메소드를 조작해서 내부를 바꾸면 리턴후에도 바뀌어 있습니다.
(원래는 인수 넘기는것들은 전부 다 call by value이나 클래스는 모두 참조자료형으로 접근되기 때문에 call by reference와 같은 효과가 납니다.)
Written By the Black Knight of Destruction
댓글 달기