BankAccount ref1 = new BankAccount(); BankAccount ref2 = ref1;
- 클래스 내에서 생성자를 사용하고자 때
- 생성자 내부에 생성자 사용하려고 할 시에 this(parameters..);와 같이 사용한다
- 인스턴스 변수에 접근할 때
- method 내부에 local variable로 field(instance variable, static(class) variable) 와 같은 이름의 variable이 있을 때 field에 접근하기 위해 this.변수명 으로 접근할 수 있다.
TV myTV = new TV("LG", 2017, 32); myTV.show();
LG에서 만든 2017년형 32인치 TV
public class MainClass { public static void main(String[] args) { TV myTV = new TV("LG", 2017, 32); myTV.show(); //LG 에서 만든 2017년형 32인치 TV } } class TV{ String maker; int year; int size; public TV(String maker, int year, int size) { this.maker = maker; this.year = year; this.size = size; } public void show() { System.out.println(maker + "에서 만든 " + year + "년형 " + size + "인치 TV"); } }
LG에서 만든 2017년형 32인치 TV
- 클래스 객체(instance)를 생성할 때 초기화하는 작업을 맡는 일종의 Method
- 매개변수에 인자가 아무것도 없는 생성자
- 예를 들면 Student 클래스의 default 생성자는 Student( ){ } 이다
노래 한 곡을 나타내는 Song 클래스를 작성하라.
Song은 다음 필드로 구성된다.
- 노래의 제목을 나타내는 title
- 가수를 나타내는 artist
- 노래가 발표된 연도를 나타내는 year
- 국적을 나타내는 country
또한 Song 클래스에 다음 생성자와 메소드를 작성하라.
- 생성자 2개: 기본 생성자와 매개변수로 모든 필드를 초기화하는 생성자
- 노래 정보를 출력하는 show() 메소드
- main() 메소드에서는 1978년, 스웨덴 국적의 ABBA가 부른 "Dancing Queen"을
song 객체로 생성하고 show()를 이용하여 노래의 정보를 다음과 같이 출력하라.
1978년 스웨덴국적의 ABBA가 부른 Dancing Queen
public class MainClass { public static void main(String[] args) { Song song = new Song("Dancing Queen", "ABBA", 1978, "스웨덴"); song.show(); } } class Song{ String title; String artist; int year; String country; public Song() { } public Song(String title, String artist, int year, String country) { this.title = title; this.artist = artist; this.year = year; this.country = country; } public void show() { System.out.println(year + "년, " + country + " 국적의 " + artist + "가 부른 " + title); } }
1978년, 스웨덴 국적의 ABBA가 부른 Dancing Queen