JAVA
[JAVA] 김영한의 실전 자바 기본편 - 절차 지향 프로그래밍
집돌이디벨로퍼
2025. 1. 21. 17:58
절차 지향 프로그래밍 - 실행 순서를 중요하게 생각하는 방식, 프로그램의 흐름을 순차적으로 따르며 처리하는 방식
=>어떻게 를 중심으로 프로그래밍
절차지향은 데이터와 해당 데이터에 대한 처리가 분리되어 있다.
객체 지향 프로그래밍 - 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들의 상호작용을 중심으로 프로그래밍하는 방식이다 =>무엇 을 중심으로 프로그래밍
객체지향은 데이터와 그 데이터에 대한 행동(메서드)이 하나의 객체안에 포함되어있다.
캡슐화
package oop1;
import javax.swing.plaf.multi.MultiScrollBarUI;
public class MusicPlayer {
int volume = 0;
boolean isOn = false;
void on(){
isOn = true;
System.out.println("음악 플레이어를 시작합니다");
}
void off(){
isOn = false;
System.out.println("음악 플레이어를 종료합니다.");
}
void volumeUp(){
volume++;
System.out.println("음악 플레이어 볼륨: " +volume);
}
void volumeDown(){
volume--;
System.out.println("음악 플레이어 볼륨: "+ volume);
}
void showStatus(){
System.out.println("음악 플레이어 상태 확인");
if(isOn){
System.out.println("음악 플레이어 On, 볼륨:"+ volume);
}else {
System.out.println("음악 플레이어 OFF");
}
}
}
MusicPlayer를 보면 음악 플레이어를 구성하기 위한 속성과 기능이 마치 하나의 캡슐에 싸여있는 것 같다. 이렇게 속성과 기능을 하나로 묶어서 필요한 기능을 메서드를 통해 외부에 제공하는 것을 캡슐화라고 한다.
=> 내부코드가 변하는 경우 다른 코드는 변경하지 않아도 되기때문에 수정에 유리하다.
==> 또한 MusicPlayer를 사용하는 개발자는 그 속에 있는 기능과 속성들을 알지 않아도 되기때문에 개발에 유리하게된다.
==> 하지만 MuiscPlayer의 메서드 이름을 변경하게 된다면 이것을 사용하는 개발자는 코드를 바꿔줘야한다.