ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 라는 그룹에는 여러 그룹이 파생되어서 활동하는데 

    이걸 상속관련해서 예제로 공부하면 재밌을거같아 작성해보았다.^^...

Designed by Tistory.