[백업][가리사니] 자바, 자바스크립트, c#에서의 포인터
c#, java, javascript
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
자바, 자바스크립트, C#같은 언어에서는 모든 객체가 기본적으로 포인터의 개념으로 동작합니다. 다만 _원시자료형_의 경우에는 대입말고 따로 할만한 것이 없음으로 원시자료형을 제외한 모든 클래스라고 보시면됩니다.
여기서 말하는 원시자료형이란 자바를 기준으로 String을 제외한 소문자로 시작하는 객체명이라고 보면됩니다. 대부분 java.lang에 속해있습니다.
예를들어 StringBulider, int를 예제로 해보겠습니다.
StringBuilder sb = new StringBuilder(); // 일반적인 클래스들
int a = 10; // 원시 자료형
수정함수 (a, sb);
// 이렇게 할경우 결과는
// a는 10 그대로이며,
// sb는 "가나다라"를 가진 스트링빌더가 됩니다.
public void 수정함수(a, sb)
{
a = 1; // 대입 - 무시됨 [포인터 바꿔치기]
sb.append('가나다라'); // 메서드 [포인터의 역활]
sb = new StringBuilder(); // 대입 - 무시됨 [포인터 바꿔치기]
}