메소드 스텁
보이기
이 문서는 다른 언어판 위키백과의 문서(en:Method stub)를 번역 중이며, 한국어로 좀 더 다듬어져야 합니다. |
메소드 스텁(method stub) 혹은 간단히 스텁은 소프트웨어 개발에 쓰이고 다른 프로그래밍 기능을 대리하는 코드이다. 스텁은 기존 코드(예를 들어 원격 머신의 프로시저)를 시뮬레이션하거나 아직 개발되지 않은 코드를 임시로 대치하는 역할을 수행한다. 따라서 스텁은 일반 소프트웨어 개발과 테스팅을 포함하여 특히 이식과 분산 컴퓨팅에 유용하다.
의사코드로 기술한 스텁의 예를 들면:
BEGIN Temperature = ThermometerRead(Outside) IF Temperature > 40 THEN PRINT "It's HOT!" END IF END
BEGIN ThermometerRead(Source insideOrOutside) RETURN 28 END ThermometerRead
위의 의사 코드는 온도를 반환하는 함수 ThermometerRead
를 이용한다. ThermometerRead
는 하드웨어 장치를 읽는 기능을 수행하여야 하지만, 아직 이에 필요한 코드를 포함하고 있지 않다. 따라서 ThermometerRead는
프로세스를 시뮬레이션하는 것이 아니라 단지 허용 가능한 값을 돌려줌으로써 메인 프로그램을 일부라도 테스트할 수 있게 한다. Source
라는 매개변수를 통해 실내와 실외 온도 중 무엇을 필요로 하는지 지정할 수 있지만, 호출자로부터 실제 전달된 값(insideOrOutside
의 값)을 사용하지 않는다.
스텁[1]은 자기 자신과 매개변수를 선언하고, 대개의 경우 호출자를 위해 "행복한 시나리오"에서 예상되는 값을 돌려준다. 스텁은 인터페이스가 정의는 되어있으나 아직 구현되지 않았을 때, 인터페이스의 실제 구현 대신으로 주로 사용된다. 스텁은 프로그램과 컴파일되어 링크가 가능한 정도의 코드를 담고 있다. RMI 명명법으로는 스텁은 서버쪽과 스켈레톤(skeleton)으로 통신한다.[2]
같이 보기
[편집]- 추상 메소드
- 모의 객체
- 더미 코드
- 테스트 스텁
각주
[편집]- ↑ “stub”. WEBOPEDIA. 2012년 8월 28일에 확인함.
- ↑ Freeman, Eric; Freeman, Elisabeth; Kathy, Sierra; Bert, Bates (2004). Hendrickson, Mike; Loukides, Mike, 편집. “Head First Design Patterns” (paperback) 1. O'REILLY: 440. ISBN 978-0-596-00712-6. 2012년 8월 28일에 확인함.
외부 링크
[편집]- A Stub Generation System For C++ (PDF)
- Stub/mock frameworks for Java 자바를 위한 스텁과 모의 프레임워크 리뷰와 비교