1. JAVA/1.2 실습
JAVA_09_실습_상속
마느링
2022. 3. 27. 23:15
문제 ] 남자 아이돌 NCT 라는 그룹은 NCT Dream, NCT U, NCT 127 라는 파생된 형태의 그룹이 존재한다.
이에 해당하는 클래스를 만들고 NCT 클래스를 만들어서 상속하도록 한다.
메인메소드에서 NCT 객체를 생성하면 그룹이름 , 멤버이름이 출력되도록 클래스 작성.
1. 부모클래스 : NCT 클래스 작성
2. 자식클래스 : NCT Dream , NCT U, NCT127 클래스 작성
1) 자식클래스 먼저 작성해주어 멤버와 그 클래스를 호출하면 주소 대신 그룹 이름이 나오도록 설정해주었다.
1.1) NCT 127 클래스
public class Nct127 extends Nct{
String[] member127;
Nct127(){
setting();
}
public void setting() {
member127 = new String[] {"태일", "쟈니", "태용", "유타", "도영", "재현",
"윈윈", "마크", "해찬", "정우"};
}
public void print127() {
for(int i = 0; i<member127.length;i++) {
System.out.print(member127[i]+" ");
}
}
public String toString() {
return "NCT127";
}
}
1.2) NCT U클래스
public class NctU extends Nct{
String[] memberU;
NctU(){
setting();
}
public void setting() {
memberU = new String[] {"태용", "도영", "재현", "윈윈", "정우", "마크", "루카스"};
}
public void printU() {
for(int i = 0; i<memberU.length;i++) {
System.out.print(memberU[i]+" ");
}
}
public String toString() {
return "NCT U";
}
}
1.3) NCT Dream클래스
public class NctDream extends Nct{
String[] memberDream;
NctDream(){
setting();
}
public void setting() {
memberDream = new String[] {"마크", "런쥔", "제노", "해찬", "재민", "천러", "지성"};
}
public void printdream() {
for(int i = 0; i<memberDream.length;i++) {
System.out.print(memberDream[i]+" ");
}
}
public String toString() {
return "NCT Dream";
}
}
2) 그리고 이를 상속시키는 NCT 클래스를 작성하여 각 클래스를 NCT 배열로 셋팅해주었다.
public class Nct {
Nct[] nct;
Nct(){
}
public void setNct() {
nct = new Nct[] {new Nct127(),new NctDream(),new NctU()};
}
public void toPrint() {
for(int i = 0; i<nct.length;i++) {
System.out.print(nct[i]+" : "); //주소값 대신 nct 크룹 명이 출력되도록 함
if(nct[i] instanceof Nct127) {
Nct127 nct127 = (Nct127)nct[i];//nct[i]가 상위클래스 이기 때문에 nct127로 강제형변환 시켜주었다.
nct127.print127();//print127 함수를 호출해서 출력해준다.
}
else if(nct[i] instanceof NctDream) {
NctDream dream = (NctDream)nct[i];
dream.printdream();
}
else if(nct[i] instanceof NctU) {
NctU nctu = (NctU)nct[i];
nctu.printU();
}
System.out.println();
}
}
}
3) 메인메소드에서 출력
public class Main {
public static void main(String[] args) {
Nct n1 = new Nct();
n1.setNct();
n1.toPrint();
}
}
결과
내가 관심있어하는 NCT 라는 그룹에는 여러 그룹이 파생되어서 활동하는데
이걸 상속관련해서 예제로 공부하면 재밌을거같아 작성해보았다.^^...