숫자 상자 클래스
정수 하나를 저장하고 필요할 때 조회하거나 변경할 수 있는 NumberBox 클래스를 작성하시오.
작성할 클래스
다음 형태의 클래스를 작성한다.
class NumberBox:
def __init__(self, value):
# 코드를 작성하세요.
def set_value(self, value):
# 코드를 작성하세요.
def get_value(self):
# 코드를 작성하세요.
- 생성자
__init__은 정수value를 받아 같은 이름의 인스턴스 속성에 저장한다. set_value(value)는 저장된 값을 새로운value로 변경하고 값을 반환하지 않는다.get_value()는 현재 저장된 값을int로 반환한다.
클래스를 사용하는 코드
작성한 클래스는 아래 코드와 함께 실행된다.
initial_value = int(input())
new_value = int(input())
box = NumberBox(initial_value)
result = box.get_value()
print(result)
print(type(result))
result = box.set_value(new_value)
print(type(result))
result = box.get_value()
print(result)
print(type(result))
위 코드가 정상적으로 동작하도록 클래스를 작성한다. 제출할 때는 작성한 클래스의 정의 전체만 제출한다. 입력을 받거나 객체를 생성하는 코드는 제출하지 않는다.
입력
첫째 줄에 처음 저장할 정수 initial_value가 주어진다.
둘째 줄에 새로 저장할 정수 new_value가 주어진다.
- \(-1,000,000,000 \le initial\_value,new\_value \le 1,000,000,000\)
출력
먼저 처음 저장된 값과 그 반환 자료형을 출력한다.
이어서 set_value()의 반환 자료형을 출력한다.
마지막으로 변경된 값과 그 반환 자료형을 출력한다.
각 메서드를 호출한 뒤에는 반환값의 자료형도 출력한다.
예제 입력 1
10
-3
예제 출력 1
10
<class 'int'>
<class 'NoneType'>
-3
<class 'int'>
예제 설명 1
NumberBox(10)으로 객체를 만들면 처음 저장된 값은 10이다.
- 첫 번째
get_value()는 저장된10을int로 반환한다. set_value(-3)을 호출하면 저장된 값이-3으로 변경된다. 이 메서드는 값을 반환하지 않는다.- 두 번째
get_value()는 변경된 값-3을int로 반환한다.
예제 입력 2
0
100
예제 출력 2
0
<class 'int'>
<class 'NoneType'>
100
<class 'int'>
코멘트