Home > Archive > Java_archive > ☕️[Java] 절차 지향 프로그래밍(1)

☕️[Java] 절차 지향 프로그래밍(1)
Java Programming Language

객체지향 프로그래밍(1)

절차 지향 프로그래밍 vs 객체 지향 프로그래밍

  • 프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있습니다.

절차 지향 프로그래밍

  • 절차 지향 프로그래밍은 이름 그대로 절차를 지향합니다.
    • 쉽게 이야기해서 실행 순서를 중요하게 생각하는 방식입니다.
  • 절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식입니다.
    • 즉, “어떻게”를 중심으로 프로그래밍 합니다.

객체 지향 프로그래밍

  • 객체 지향 프로그래밍은 이름 그대로 객체를 지향합니다.
    • 쉽게 이야기해서 객체를 중요하게 생각하는 방식입니다.
  • 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식입니다.
    • 즉, “무엇을” 중심으로 프로그래밍 합니다.

둘의 중요한 차이

  • 절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있습니다.
  • 반변 객체 지향에서는 데이터와 그 데이터에 대한 행동(메서드)이 하나의 ‘객체’안에 함께 포함되어 있습니다.

절차 지향에서 객체 지향으로 점진적으로 코드를 변경해보면서 객체 지향 프로그래밍을 이해해봅시다.

“음악 플레이어를 만들어보고 그것을 보면서 이해해봅시다.”

요구 사항:

  • 음악 플레이어를 켜고 끌 수 있어야 합니다.
  • 음악 플레이어의 볼륨을 증가, 감소할 수 있어야 합니다.
  • 음악 플레이어의 상태를 확인할 수 있어야 합니다.

예시 출력:

음악 플레이어를 시작합니다.
음악 플레이어 볼륨:1
음악 플레이어 볼륨:2
음악 플레이어 볼륨:1
음악 플레이어 상태 확인
음악 플레이어 ON, 볼륨:1
음악 플레이어를 종료합니다.

절차 지향 음악 플레이어1

package oop1;

public class MusicPlayerMain1 {

  public static void main(String[] args) {
    int volume = 0;
    boolean isOn = false;

    // 음악 플레이어 켜기
    isOn = true;
    System.out.println("음악 플레이어를 시작합니다.");

    // 볼륨 증가
    volume++;
    System.out.println("음악 플레이어 볼륨:" + volume);
    // 볼륨 증가
    volume++;
    System.out.println("음악 플레이어 볼륨:" + volume);
    // 볼륨 감소
    volume--;
    System.out.println("음악 플레이어 볼륨:" + volume);
    // 음악 플레이어 상태
    System.out.println("음악 플레이어 상태 확인");
    if (isOn) {
      System.out.println("음악 플레이어 ON, 볼륨:" + volume);
    } else {
      System.out.println("음악 플레이어 OFF");
    }
    // 음악 플레이어 끄기
    isOn = false;
    System.out.println("음악 플레이어를 종료합니다.");
  }
}

실행 결과

음악 플레이어를 시작합니다.
음악 플레이어 볼륨:1
음악 플레이어 볼륨:2
음악 플레이어 볼륨:1
음악 플레이어 상태 확인
음악 플레이어 ON, 볼륨:1
음악 플레이어를 종료합니다.

“순서대로 프로그램이 작동하도록 단순하게 작성했습니다. 이 코드를 점진적으로 변경해봅시다.”

다음 포스트인 “절차 지향 프로그래밍(2)”에서 이어서 포스팅하겠습니다.