[Java]Wrapper란?

zizi·2023년 8월 25일
0

Java

목록 보기
27/27

> Wrapper의 정의

Wrapper는 객체 지향 프로그래밍에서 종종 사용되는 용어로, 다른 객체를 감싸거나 래핑함으로써 새로운 동작이나 기능을 추가할 수 있도록 하는 디자인 패턴 중 하나입니다.
이를 통해 코드의 유연성을 높이거나 코드 재사용성을 증가시킬 수 있습니다.

> Wrapper class

  • 기본 타입 데이터를 객체로 포장해주는 클래스를 래퍼 클래스(wrapper class)라고 합니다.
  • 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줍니다.

> 예시

  • List 인터페이스를 래핑하여 특정 조건에 따라 원소 추가하는 래퍼 클래스
import java.util.List;

public class ConditionalListWrapper<T> implements List<T> {
    private List<T> originalList;

    public ConditionalListWrapper(List<T> originalList) {
        this.originalList = originalList;
    }

    @Override
    public boolean add(T element) {
        if (element instanceof String) {
            String str = (String) element;
            if (str.length() <= 10) {
                return originalList.add(element);
            }
        }
        return false;
    }

}
  • ConditionalListWrapper 클래스는 List 인터페이스를 구현하여 기존의 리스트 객체를 래핑
  • add() 메서드를 오버라이딩하여 문자열 길이가 10 이하인 경우에만 원소를 추가하는 조건을 추가
  • ConditionalListWrapper 클래스를 사용하여 원래의 리스트를 래핑하고, 추가 조건을 부여한 새로운 동작을 사용 가능
  • 기존의 리스트 기능은 유지하면서 추가적인 조건이나 동작을 부여한 리스트를 사용 가능


[참고]
http://www.tcpschool.com/java/java_api_wrapper
https://eehoeskrap.tistory.com/177

profile
좋았다면 추억이고 나빴다면 경험이다.🍀

0개의 댓글

관련 채용 정보