반응형
안녕하세요! 😊 오늘은 자바(Java)에서 this 생성자를 활용하는 방법을 쉽게 설명해볼게요! 이번에 만든 예제는 노래(Song) 정보를 저장하고 출력하는 프로그램이에요. 함께 살펴볼까요? 🎶
1. 클래스와 생성자란?
자바에서 클래스(Class) 는 객체를 만들기 위한 설계도라고 할 수 있어요. 그리고 생성자(Constructor) 는 객체를 생성할 때 자동으로 호출되는 특별한 메서드예요.
그럼, 직접 Song 클래스를 만들어 볼까요? 🎼
package com.javaex.oop.song.v3;
public class Song {
// 필드 (멤버 변수)
private String title;
private String artist;
private String album;
private String composer;
private int year;
private String track;
// 생성자 (this 키워드 사용)
public Song(String title, String artist,
String album, int year, String track,
String composer) {
this.title = title;
this.artist = artist;
this.album = album;
this.year = year;
this.track = track;
this.composer = composer;
}
// 정보 출력 메서드
public void showInfo() {
System.out.printf("%s - %s (Album: %s, Year: %d, Track: %s, Composer: %s)\n",
artist, title, album, year, track, composer);
}
}
📌 this 키워드란?
- this 는 현재 객체의 인스턴스(멤버 변수)를 가리킬 때 사용해요.
- 위의 생성자에서 this.title = title; 처럼 사용된 부분을 보면, 매개변수와 필드 이름이 같을 때 this를 사용해서 객체의 멤버 변수임을 명확하게 표현하고 있어요.
2. 객체 생성하고 활용하기 🎤
이제 Song 클래스를 활용해서 노래 정보를 저장하고 출력해 볼까요?
package com.javaex.oop.song.v3;
public class SongApp {
public static void main(String[] args) {
// Song 객체 생성
Song s1 = new Song("좋은날", "아이유", "Real", 2010, "3번 트랙", "이민수");
Song s2 = new Song("거짓말", "BIGBANG", "Always", 2007, "2번 트랙", "G-DRAGON");
Song s3 = new Song("벚꽃엔딩", "버스커버스커", "버스커버스커1집", 2012, "4번 트랙", "장범준");
// 노래 정보 출력
s1.showInfo();
s2.showInfo();
s3.showInfo();
}
}
실행 결과 📢
아이유 - 좋은날 (Album: Real, Year: 2010, Track: 3번 트랙, Composer: 이민수)
BIGBANG - 거짓말 (Album: Always, Year: 2007, Track: 2번 트랙, Composer: G-DRAGON)
버스커버스커 - 벚꽃엔딩 (Album: 버스커버스커1집, Year: 2012, Track: 4번 트랙, Composer: 장범준)
3. this 생성자의 장점! 🚀
예전 코드에서는 setter 메서드를 이용해서 데이터를 하나씩 설정했어요. 하지만 this 생성자를 활용하면 객체를 생성하는 동시에 데이터를 넣을 수 있어서 코드가 더 간결하고 보기 좋아요!
📌 this 생성자의 장점 정리!
- ✅ 코드가 간결해진다.
- ✅ 객체 생성 시 초기값을 한 번에 설정할 수 있다.
- ✅ 객체의 불변성을 유지하는 데 도움이 된다.
4. 마무리 🎵
오늘은 자바에서 this 생성자를 활용하는 방법을 알아봤어요! 이제 여러분도 자바 클래스에서 this를 활용해 더 깔끔한 코드를 작성할 수 있겠죠? 😊
반응형
'개발 > JAVA' 카테고리의 다른 글
자바(JDBC)로 오라클 데이터베이스 연동하기 (4) | 2025.02.21 |
---|---|
JAVA의 Static과 Singleton 패턴 쉽게 이해하기 (8) | 2025.02.20 |
자바(Java)로 나만의 노래 관리 프로그램 만들기 🎵 (11) | 2025.02.18 |
Java 도형 그리기 프로그램 만들기! 🎨 (2) | 2025.02.17 |
Java로 배우는 객체 지향 프로그래밍 - 추상 클래스와 상속 (8) | 2025.02.07 |