본문 바로가기

카테고리 없음

Call by reference - Java

 

스프링에서의 Call by Reference 특징

 

  1. 객체 전달: 스프링에서 객체를 함수나 메서드에 전달할 때, 실제 객체가 아닌 객체의 참조(메모리 주소)가 전달. 이것이 마치 "Call by Reference"처럼 작동한다.
  2. 원본 객체 수정: 메서드에 전달된 객체의 속성을 변경하면, 원본 객체에도 이 변경사항이 반영된다. 이는 메서드가 객체의 참조를 통해 원본 객체에 직접 접근하기 때문.
  3. 효율적인 메모리 사용: 객체의 실제 복사본을 만들지 않기 때문에, 메모리 사용이 더 효율적.
스프링에서의 사용 예시
  • 의존성 주입(Dependency Injection): 스프링은 객체의 생성과 의존성 관리를 담당. 객체의 참조를 컨테이너로부터 주입받아 사용.
  • 트랜잭션 관리: 스프링의 트랜잭션 관리 기능은 특정 메서드에 대한 트랜잭션 처리를 담당. 객체의 참조를 사용하여 트랜잭션 상태를 관리.
  • AOP(Aspect-Oriented Programming): AOP는 횡단 관심사(cross-cutting concerns)를 관리하는 데 사용. 이를 위해 스프링은 프록시 객체를 사용하는데, 여기서도 객체의 참조가 중요한 역할을 함.