자바)public메서드에 대해 질문입니다

조회수 445회
class Deck  {
final int CARD_NUM = 52;    // 카드의 개수
Card cardArr[] = new Card[CARD_NUM];  // Card객체 배열을 포함

Deck () {   // Deck의 카드를 초기화한다.
    int i=0;

    for(int k=Card.KIND_MAX; k > 0; k--)
        for(int n=0; n < Card.NUM_MAX ; n++)
            cardArr[i++] = new Card(k, n+1);
}

Card pick(int index) {  // 지정된 위치(index)에 있는 카드 하나를 꺼내서 반환
    return cardArr[index];
}

Card pick() {           // Deck에서 카드 하나를 선택한다.
    int index = (int)(Math.random() * CARD_NUM);
    return pick(index);
}

void shuffle() { // 카드의 순서를 섞는다.
    for(int i=0; i < cardArr.length; i++) {
        int r = (int)(Math.random() * CARD_NUM);

        Card temp = cardArr[i]; 
        cardArr[i] = cardArr[r];
        cardArr[r] = temp;
        }
    }
} // Deck클래스의 끝

// Card클래스
class Card {
static final int KIND_MAX = 4;  // 카드 무늬의 수
static final int NUM_MAX  = 13; // 무늬별 카드 수

static final int SPADE   = 4;
static final int DIAMOND = 3;
static final int HEART   = 2;
static final int CLOVER  = 1;

int kind;
int number;

Card() {
    this(SPADE, 1);
}

Card(int kind, int number) {
    this.kind = kind;
    this.number = number;
}

public String toString() {
    String[] kinds = {"", "CLOVER", "HEART", "DIAMOND", "SPADE"};
    String numbers = "0123456789XJQK"; // 숫자 10은 X로 표현

    return "kind : " + kinds[this.kind] 
        + ", number : " + numbers.charAt(this.number);
    } // toString()의 끝
} // Card클래스의 끝

public class Tv {   
    public static void main(String args[]) {
        Deck d = new Deck();       // 카드 한 벌(Deck)을 만든다.
        Card c = d.pick(0);    // 섞기 전에 제일 위의 카드를 뽑는다.
        System.out.println(c); // System.out.println(c.toString());과 같다.

        d.shuffle();               // 카드를 섞는다.
        c = d.pick(0);         // 섞은 후에 제일 위의 카드를 뽑는다.
        System.out.println(c.toString());

    }

}

Tv클래스 위에 public String toString()이라는 메서드가 있는데 여기서 public을 빼면 cannot reduce th visibility of the ingerited method from Object라는 오류가 납니다.

혹시 이유 좀 알려주실 수 있나요? public 넣었을 때랑 public을 뺐을 때의 차이를 알려주세요. 감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)