c++
c++ 와 java의 대입연산자 차이

c++ 와 java의 대입연산자 차이

프리미티브 타입

둘 다 값 복사 로 동일함

객체 타입

c++

  • 얕은 복사
  • 복사 생성자 호출됨, 오버라이딩해서 깊은 복사로 변경 가능
  • 별도의 메모리 영역 할당 후 값만 복사

java

  • 참조 복사

  • c++ 의 레퍼런스와 동일함, obj1, obj2 의 주소값이 하나의 영역을 참조

  • 얕은 복사 : 메모리 영역 할당은 새로 발생함, 대신 속성들은 주소값만 가지고 있음 (단, 프리미티브 속성일 경우 값 자체를 복사)

  • 참조 복사 : 그냥 동일 메모리 영역을 가르킴