본문 바로가기
Everyday Study

2024.08.19(월) { 타겟 클래스, Stream }

by xogns93 2024. 8. 20.

"타겟 클래스(Target Class)"와 "타겟 클래스 객체(Target Class Object)"는 주로 프록시 패턴이나 리플렉션과 관련된 맥락에서 사용되는 용어입니다. 이 용어들은 특히 동적 프록시(Dynamic Proxy)나 AOP(Aspect-Oriented Programming)에서 자주 등장합니다.

 

타겟 클래스 (Target Class)

  • 정의: 타겟 클래스(Target Class)는 주로 프록시 패턴에서 프록시 객체가 대신해서 동작할 원래의 클래스를 의미합니다. 이 클래스는 실제 비즈니스 로직을 포함하고 있으며, 프록시 객체는 이 클래스의 메서드 호출을 가로채거나 확장된 기능을 제공하는 역할을 합니다.
  • 사용 맥락:
    • 프록시 패턴: 프록시 객체는 타겟 클래스의 역할을 대신합니다. 타겟 클래스는 프록시 객체에 의해 호출되거나, 프록시 객체가 타겟 클래스의 메서드를 호출할 수 있습니다.
    • AOP: AOP에서 타겟 클래스는 특정 관점(Aspect)이 적용되는 주 클래스입니다.

 

타겟 클래스 객체 (Target Class Object)

  • 정의: 타겟 클래스 객체(Target Class Object)는 타겟 클래스의 인스턴스를 의미합니다. 이 객체는 실제로 동작하는 클래스의 인스턴스이며, 프록시 패턴이나 AOP에서 프록시 객체가 이 타겟 클래스 객체를 호출하거나, 해당 객체의 메서드를 대리로 호출합니다.
  • 사용 맥락:
    • 리플렉션: 리플렉션을 통해 특정 클래스의 메서드를 동적으로 호출할 때, 타겟 클래스 객체는 메서드 호출의 실제 대상이 됩니다.
    • 프록시 패턴: 프록시 객체가 타겟 클래스의 메서드를 호출할 때, 이 호출은 실제로 타겟 클래스 객체의 메서드에서 수행됩니다.

스트림(Stream)은 자바에서 데이터의 연속적인 흐름을 처리하는 데 사용되는 개념

 

바이트 스트림 (Byte Stream)

  • 바이트 스트림은 자바에서 1바이트 단위로 데이터를 읽고 쓰는 스트림입니다. 이 스트림은 주로 바이너리 데이터를 처리하는 데 사용됩니다. 바이트 스트림은 모든 종류의 데이터를 처리할 수 있는 저수준 스트림입니다.
  • 바이트 스트림 클래스:
    • 자바에서 바이트 스트림을 처리하기 위해 사용되는 기본 클래스는 InputStream과 OutputStream입니다. 이들 클래스는 각각 데이터를 읽고 쓰는 데 사용됩니다.
    • InputStream은 바이트 스트림으로부터 데이터를 읽는 데 사용되며, OutputStream은 바이트 스트림으로 데이터를 쓰는 데 사용됩니다.