-
JAVA_09_실습_상속1. JAVA/1.2 실습 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 라는 그룹에는 여러 그룹이 파생되어서 활동하는데
이걸 상속관련해서 예제로 공부하면 재밌을거같아 작성해보았다.^^...
'1. JAVA > 1.2 실습' 카테고리의 다른 글
JAVA_실습_19_Stream API를 활용한 이중포문 만들고 참조타입 List 형태로 반환하기 (0) 2023.08.30 JAVA_18_실습_JDBC (0) 2022.04.04 JAVA_08_실습_객체(5) (0) 2022.03.26 JAVA_08_실습_객체(4) (0) 2022.03.25 JAVA_08_실습_객체(3) (0) 2022.03.24