티스토리 뷰

반응형

 

 

금일 강의는 예전 소스코드를 활용하여

Generics을 이용해 코드를 변경하는 것으로

따로 진행하지 않겠다.

 

Generics에 대한 설명은

추후에 '자바의 정석' 카테고리에서

다시 다루도록 하겠다.

 

그럼 바로 코드 리뷰로 들어가보자.❗❗

 

Day 21

 


이번 문제는 예제를 보자마자

단순히 array 안의 값을 출력하기만 하면

되는 문제였는데 for문을 돌릴 때 array의 size만큼

돌려야하는데 그 방법을 몰라서 많이 해맸다.

 

결국 향상된 for문을 사용하여 해결할 수 있다는 것을

알게 되었고 문제를 해결할 수 있었다.

 

향상된 for문에 대해서 모르는 사람은

다음 포스팅을 살펴보자.

(글자 클릭 시 이동)

 

필자의 블로그 포스팅으로

향상된 for문에 대한 설명을 위한 포스팅이다.

 


 

 

그럼 이제 전체 소스코드를 살펴보자. 👇👇

 

 

import java.util.*;

class Printer <T> {

    /**
    *    Method Name: printArray
    *    Print each element of the generic array on a new line. Do not return anything.
    *    @param A generic array
    **/
    public <T> void printArray(T[] d) {
        for(T element: d) {
            System.out.println(element);
        }
    }
    // Write your code here

}

public class Generics {
    
    public static void main(String args[]){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        Integer[] intArray = new Integer[n];
        for (int i = 0; i < n; i++) {
            intArray[i] = scanner.nextInt();
        }

        n = scanner.nextInt();
        String[] stringArray = new String[n];
        for (int i = 0; i < n; i++) {
            stringArray[i] = scanner.next();
        }
        
        Printer<Integer> intPrinter = new Printer<Integer>();
        Printer<String> stringPrinter = new Printer<String>();
        intPrinter.printArray( intArray  );
        stringPrinter.printArray( stringArray );
        if(Printer.class.getDeclaredMethods().length > 1){
            System.out.println("The Printer class should only have 1 method named printArray.");
        }
    } 
}

 

 

위에서 필자가 설명한 향상된 for문 사용만

이해하면 딱히 어려움없이 이해할 수 있는 코드일 것이다.

 

혹시나 궁금한 점이 있다면

댓글로 질문하길 바란다.

 


 

그럼 우리는 내일 Day 22 포스팅을 통해 다시 만나자.

반응형