개발/JAVA

자바(Java)로 나만의 노래 관리 프로그램 만들기 🎵

예니03 2025. 2. 18. 09:23
반응형

1. 프로젝트 소개

자바를 배우고 있다면, 객체 지향 프로그래밍(OOP)을 연습하는 것이 중요합니다! 이번에는 Song 클래스를 만들어 나만의 노래 정보를 저장하고 출력하는 간단한 프로그램을 만들어볼 거예요. 😊

2. Song 클래스 만들기 🎤

우리는 Song이라는 클래스를 만들고, 노래의 다양한 정보를 저장할 수 있도록 할 거예요.

  • 노래 제목 (title)
  • 가수 (artist)
  • 앨범 (album)
  • 작곡가 (composer)
  • 발매 연도 (year)
  • 트랙 번호 (track)

Song.java 코드 ✍️

package com.javaex.oop.song.v1;

// v1. 필드, getter/setter, 일반 메서드
public class Song {
    private String title;
    private String artist;
    private String album;
    private String composer;
    private int year;
    private String track;
    
    // Getter & Setter 메서드
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getArtist() {
        return artist;
    }
    public void setArtist(String artist) {
        this.artist = artist;
    }
    public String getAlbum() {
        return album;
    }
    public void setAlbum(String album) {
        this.album = album;
    }
    public String getComposer() {
        return composer;
    }
    public void setComposer(String composer) {
        this.composer = composer;
    }
    public int getYear() {
        return year;
    }
    public void setYear(int year) {
        this.year = year;
    }
    public String getTrack() {
        return track;
    }
    public void setTrack(String track) {
        this.track = track;
    }
    
    // 정보 출력 메서드
    public void showInfo() {
        System.out.printf("[%s - %s] (%s, %d년, %s, 작곡: %s)\n",
                title, artist, album, year, track, composer);
    }
}

코드 설명 ✨

  1. private 키워드를 사용하여 title, artist 등의 필드를 선언했습니다.
  2. getter와 setter 메서드를 만들어 외부에서 값을 설정(set)하고 가져올(get) 수 있도록 했어요.
  3. showInfo() 메서드를 통해 노래 정보를 출력하는 기능을 만들었어요!

 

3. SongApp 실행 클래스 만들기 🎶

이제 Song 클래스를 활용해서 노래 데이터를 입력하고 출력하는 실행 클래스를 만들어보겠습니다!

SongApp.java 코드 ✍️

package com.javaex.oop.song.v1;

public class SongApp {
    public static void main(String[] args) {
        // 첫 번째 노래
        Song s1 = new Song();
        s1.setArtist("아이유");
        s1.setTitle("좋은날");
        s1.setAlbum("Real");
        s1.setYear(2010);
        s1.setTrack("3번 track");
        s1.setComposer("이민수");
        
        // 두 번째 노래
        Song s2 = new Song();
        s2.setArtist("BIGBANG");
        s2.setTitle("거짓말");
        s2.setAlbum("Always");
        s2.setYear(2007);
        s2.setTrack("2번 track");
        s2.setComposer("G-DRAGON");
    
        // 세 번째 노래
        Song s3 = new Song();
        s3.setArtist("버스커버스커");
        s3.setTitle("벚꽃엔딩");
        s3.setAlbum("버스커버스커1집");
        s3.setYear(2012);
        s3.setTrack("4번 track");
        s3.setComposer("장범준");
        
        // 노래 정보 출력
        s1.showInfo();
        s2.showInfo();
        s3.showInfo();
    }
}

코드 설명 💡

  1. Song 클래스를 이용해서 s1, s2, s3 세 개의 노래 객체를 생성했어요.
  2. set 메서드를 사용해 각각의 노래 정보를 입력했어요.
  3. showInfo() 메서드를 호출해서 저장된 노래 정보를 화면에 출력했어요.

 

4. 실행 결과 🎵

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

[좋은날 - 아이유] (Real, 2010년, 3번 track, 작곡: 이민수)
[거짓말 - BIGBANG] (Always, 2007년, 2번 track, 작곡: G-DRAGON)
[벚꽃엔딩 - 버스커버스커] (버스커버스커1집, 2012년, 4번 track, 작곡: 장범준)

 

 

5. 정리 📌

이제 여러분은 Song 클래스를 활용해서 원하는 노래 정보를 저장하고 출력할 수 있습니다! 🥳

오늘 배운 내용 📝

✔ 클래스와 객체 생성하는 방법 ✔ 필드, getter/setter 메서드 사용법 ✔ showInfo() 메서드를 이용한 정보 출력 방법

이제 여러분만의 플레이리스트를 만들어보세요! 🎧 

반응형