객체지향 핵심


<aside> ☄️

설명


</aside>

예제


<aside> 📞

예제1


class의 필드와 메서드 정의
-------------------------
package oop1;

public class ValueObject {

    int value;

    void add() {
        value++;
        System.out.println("숫자 증가 :" + value);
    }
}

main 함수
---------
package oop1;

public class ValueObjectMain {

    public static void main(String[] args) {
        ValueObject valueObject = new ValueObject();

        valueObject.add(); //인스턴스에서 메소드 호출
        valueObject.add(); //인스턴스에서 메소드 호출
        valueObject.add(); //인스턴스에서 메소드 호출

        System.out.println(valueObject.value);
    }
}

출력
숫자 증가 :1
숫자 증가 :2
숫자 증가 :3
3

image.png

image.png

</aside>

완전 객체지향


<aside> 📞

예제


package oop1;

public class MusicPlayer {
    int volume;
    boolean isOn;

    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");
        } else {
            System.out.println("뮤직 플레이어 off");
        }
    }
}
----------------------------------------------------
package oop1;

public class MusicPlayer4 {
    public static void main(String[] args) {
        MusicPlayer musicPlayer = new MusicPlayer();

        musicPlayer.on();

        musicPlayer.volumeUp();
        musicPlayer.volumeUp();

        musicPlayer.off();
        musicPlayer.showStatus();

        System.out.println(musicPlayer.volume);

    }
}

</aside>