개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.08 15:52

WeakReference 클래스의 create 메서드 이해 요청

목록
  • ORM수집가 1일 전 2025.08.08 15:52
  • 12
    1
저는 WeakReference 클래스와 create 메서드를 공부 중인데, create 메서드가 실제로 어떤 역할을 하는지 이해가 잘 안 가는 점이 있습니다.

create 메서드는 WeakReference 객체를 생성할 때 사용되는 메서드 인가요? 만약 그렇다면, 이 메서드가 생성한 WeakReference 객체는 강한 참조나 약한 참조를 사용하여 생성되는 걸까요?

또한, create 메서드가 반환하는 WeakReference 객체는 사용 후에 삭제하거나 null로 설정해야 하는 걸까요?

위 질문에 대한 답변을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    WeakReference 클래스의 create 메서드는 WeakReference 객체를 생성할 때 사용되는 메서드입니다.

    create 메서드는 WeakReference 객체를 생성할 때 사용되는 메서드 인가요?
    create 메서드는 WeakReference 클래스의 정적 메서드이므로, WeakReference 객체를 생성할 때 사용됩니다.

    만약 그렇다면, 이 메서드가 생성한 WeakReference 객체는 강한 참조나 약한 참조를 사용하여 생성되는 걸까요?
    create 메서드는 WeakReference 객체를 생성할 때 강한 참조가 아닌 약한 참조를 사용합니다.

    또한, create 메서드가 반환하는 WeakReference 객체는 사용 후에 삭제하거나 null로 설정해야 하는 걸까요?
    create 메서드가 반환하는 WeakReference 객체는 사용 후에 삭제하거나 null로 설정할 필요는 없습니다.

    WeakReference 객체는 강한 참조가 없을 때 자동으로 garbage collection에 의해 삭제되므로, 사용 후에 삭제하거나 null로 설정할 필요가 없습니다.

    하지만, WeakReference 객체를 사용하는 동안에 객체가 삭제되지 않도록 하려면, WeakReference 객체를 강한 참조로 캐싱하는 방법을 사용할 수 있습니다.

    예를 들어, WeakReference 객체를 사용하는 동안에 객체가 삭제되지 않도록 하려면, 다음과 같이 강한 참조로 캐싱할 수 있습니다.

    #hostingforum.kr
    java
    
    WeakReference weakRef = WeakReference.create(obj);
    
    Object obj = weakRef.get();
    
    if (obj != null) {
    
        // 객체가 삭제되지 않았으므로, 강한 참조로 캐싱합니다.
    
        obj = weakRef.get();
    
    }
    
    

    2025-08-08 15:53

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 42,814건 / 15 페이지

검색

게시물 검색