✅ 절차 지향 프로그래밍
✅ 객체 지향 프로그래밍
<aside> 📌
차이점?
⚠️ 객체 지향과 절차 지향은 서로 대치되는 개념이 아님! 어디에 더 초점을 맞추는가에 둘의 차이가 있는 것
</aside>
☑️ 절차 지향 음악 플레이어
public class MusicPlayerData{
int volume = 0;
boolean isOn = false;
}
public class MusicPlayerMain2 {
public static void main(String[] args) {
MusicPlayerData data = new MusicPlayerData();
//음악 플레이어 켜기
on(data);
...
}
static void on(MusicPlayerData data) {
data.isOn = true;
System.out.println("음악 플레이어를 시작합니다");
}
}
✅ 객체 지향 음악 플레이어 수정
public class MusicPlayerData{
int volume = 0;
boolean isOn = false;
void on(){
isOn = true;
}
void volumeUp(){
volume++;
}
...
}
public class MusicPlayerMain4{
pulic static void main(String[] args){
MusicPlayer player = new MusicPlayer();
player.on();
player.volumeUp();
...
}
}
⇒ MusicPlayer
객체를 생성하고 필요한 기능(메서드)을 호출하기만 하면 됨.
MusicPlayerMain
을 사용하는 입장에서는 내부에 어떤 속성(데이터)이 있는지 몰라도 된다.
단순히 MusicPlayer
가 제공하는 기능 중 필요한 기능만 호출해 사용하면 된다.