이번 포스팅에서는 JAVA 원시값 포장에 대해서 알아보록 하겠습니다.

 

 

자바에서 기본적으로 사용하는 코드를 보면 아래와 같은 함수를 작성합니다.

public int add(int number) {
	return result += nuber;
}

여기서 nuber는 int형으로 바로 값을 외부에 보여줍니다

지금 사용하고 있는 사람에게도 아 저건 number를 더하는 함수구나 라고 알 수 있긴 합니다만

함수의 이름이 복잡해 지거나 받는 파라메터의 값이 어려워진다면 어떤 값을 넣어야 하는지 헷갈릴때가 있습니다.

그래서 값을 보호하고 조금더 명확한 값을 함수의 파라메터로 입력받길 원한다면 클레스를 따로 만들어서 관리를 해야합니다.

public class Number {
    private int value;

    private Number(int value) {
        validate(value);
        this.value = value;
    }

    public static Number create(int value) {
        return new Number(value);
    }
}

 

뭐 이런식으로 클래스를 생성 한 이후에 아래와 같이 변경하여 작성합니다.

 

public Number add(Number number) {
	return number.add();
}

그럼 number의 값이 조금더 명확해 지는 효과를 볼 수 있습니다.

여기서 add()라는 함수를 Number 클래스에 추가하여 Number 클래스에서 동작하도록 만드는 것이 좋습니다.

public class Number {
    private int value;

    private Number(int value) {
        validate(value);
        this.value = value;
    }

    public static Number create(int value) {
        return new Number(value);
    }
    
    public void add() {
    	this.value += this.value
    }
}

뭐 이런식으로 짜면 자기 자신을 계속 더하는 것이 되겠지만 파라메터를 Number로 다시 받고 그 Number를 더하면 충분히 덧샘도 가능해집니다. 또한 validation을 통해서 유효성 처리를 해주는 것도 가능해집니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기