절차 지향 프로그래밍(2) - 데이터 묶음
“절차 지향 프로그래밍(1)에 작성한 코드에 클래스를 도입합시다.”
MusicPlayerData
라는 클래스를 만들고, 음악 플레이어에 사용되는 클래스를 만들고, 음악 플레이어에 사용되는 데이터들을 여기에 묶어서 멤버 변수로 사용해봅시다.
MusicPlayerData
package oop1;
public class MusicPlayerData {
int volume = 0;
boolean isOn = false;
}
- 음악 플레이어에 사용되는
volume
,isOn
속성을MusicPlayerData
의 멤버 변수에 포함했습니다.
MusicPlayerMain2
package oop1;
public class MusicPlayerMain2 {
public static void main(String[] args) {
MusicPlayerData data = new MusicPlayerData();
// 음악 플레이어 켜기
data.isOn = true;
System.out.println("음악 플레이어를 시작합니다.");
// 볼륨 증가
data.volume++;
System.out.println("음악 플레이어 볼륨:" + data.volume);
// 볼륨 증가
data.volume++;
System.out.println("음악 플레이어 볼륨:" + data.volume);
// 볼륨 감소
data.volume--;
System.out.println("음악 플레이어 볼륨:" + data.volume);
// 음악 플레이어 상태
System.out.println("음악 플레이어 상태 확인");
if (data.isOn) {
System.out.println("음악 플레이어 ON, 볼륨:" + data.volume);
} else {
System.out.println("음악 플레이어 OFF");
}
// 음악 플레이어 끄기
data.isOn = false;
System.out.println("음악 플레이어를 종료합니다.");
}
}
- 음악 플레이어와 관련된 데이터는
MusicPlayerData
클래스에 존재합니다.- 이 클래스를 사용하도록 기존 로직을 변경했습니다.
- 이후에 프로그램 로직이 더 복잡해져서 다양한 변수들이 추가되더라도 음악 플레이어와 관련된 변수들은
MusicPlayerData data
객체에 속해있으므로 쉽게 구분할 수 있습니다.
- 이후에 프로그램 로직이 더 복잡해져서 다양한 변수들이 추가되더라도 음악 플레이어와 관련된 변수들은
- 이 클래스를 사용하도록 기존 로직을 변경했습니다.