Proxy가 뭔가요?

박재성·2025년 1월 6일
0

Spring

목록 보기
1/4

📌Proxy가 뭔가요?

프록시는 대리자라는 뜻이에요. 누군가 대신해서 무언가를 해주는 역할을 한다고 보면 돼요. 프로그래밍에서 프록시는 특정 객체에 대한 접근을 제어하거나, 행동을 추가하고 싶을 때 사용돼요.

쉽게 말해서, 프록시는 진짜 객체를 직접 사용하지 않고, 중간에 프록시 객체를 끼워서 작업을 처리하는 거예요.

⭐프록시를 왜 사용할까요?

프록시는 다양한 이유로 사용돼요. 대표적으로는 아래 몇 가지가 있어요

🌟접근 제어

어떤 객체에 직접 접근하면 위험하거나 비효율적일 수 있어요. 이럴 때 프록시를 통해 접근을 제어할 수 있어요. 예를 들어, 중요한 데이터를 가진 객체에 접근하기 전에 권한을 체크하거나, 로그를 남기는 기능을 추가할 수 있어요.

🌟성능 최적화

모든 작업을 실시간으로 처리하면 느려질 수 있어요. 그래서 프록시를 사용해서 필요할 때만 실제 객체를 생성하거나, 데이터를 가져오는 방식을 사용할 수 있어요. 이런 방식을 지연 로딩(Lazy Loading)이라고 해요.

🌟추가 기능 제공

프록시를 사용하면 기존 객체의 행동에 새로운 기능을 추가할 수 있어요. 예를 들어, 요청을 캐싱하거나, 네트워크 요청에 추가적인 보안 검사를 넣을 수 있어요.

⭐프록시는 어디서 사용되나요?

프록시는 여러 분야에서 사용돼요. 몇 가지 예시를 들어볼게요.

🌟네트워크 프록시

인터넷 사용할 때 사용하는 HTTP Proxy가 대표적이에요. 네트워크 요청을 중간에서 대리 처리해서, IP 숨기기, 보안 강화, 속도 향상 같은 기능을 제공해요.

🌟프로그래밍 프록시 패턴

프록시는 디자인 패턴에서도 중요한 역할을 해요. 디자인 패턴(Design Pattern)은 소프트웨어를 설계할 때 자주 사용하는 해결 방법이에요. 그중 프록시 패턴은 위에서 설명한 접근 제어, 지연 로딩을 구현할 때 쓰여요.

🌟Spring AOP(Aspect-Oriented Programming)

백엔드 개발할 때 많이 쓰이는 Spring 프레임워크에서는 프록시를 사용해 AOP를 구현해요. 예를 들어, 메서드 실행 전에 로그를 남기거나, 실행 시간을 측정하는 작업을 할 때 프록시를 활용해요.

0개의 댓글