실습
실습
1. Player
클래스 만들기
지난 실습에서 작성한 playNote
, play
함수 메소드를 가진 클래스 Player
를 정의하고, 이 클래스를 활용하여 Lab#8-3에 주어진 테스트 케이스를 실행해보자. 악기는 MandoPlayer
를 사용한다.
2. BPM
클래스 활용하기
Listing 9.4에 정의된 BPM
클래스를 dur
타입의 halfNote
변수를 추가하여 재작성하고, 이를 활용하여 위 Lab#9-1에서 만든 코드를 재작성해보자.
3. Lab#8-3 코드를 객체지향으로 재작성하기
Lab#8-4 코드를 Player
, BPM
클래스를 활용하여 재작성해보자.
4. Lab#8-4 코드를 객체지향으로 재작성하기
Lab#8-5 코드를 Player
, BPM
클래스를 활용하여 재작성해보자. 이 문제를 풀기 위해서 추가로 필요한 1/6, 1/3, 온 박자를 처리할 수 있도록 BPM
클래스는 확장해야 한다.
5. Lab#9-4 코드를 여러 파일로 나누어 구성하기
이번에는 Player
클래스는 player.ck
파일에 저장하고, BPM
클래스는 BPM.ck
파일에 저장하고, 나머지 부분은 initialize.ck
, score.ck
파일로 나누어 작성하여 똑같이 작동하도록 해보자.
6. Clarinet
을 상속하여 작성한 Listing 9.18의 MyClarinet
에 중복 메소드 추가하기
Listing 9.18의 noteOn
메소드는 MIDI 음에만 작동한다. 문자열로 표현한 계명과 실수 주파수 인수에도 작동하도록 두 개의 중복(overloading) 메소드를 추가해보자.