프로그래밍 언어/JAVA

자바의 정석 6장 1,2번 클래스 정의하기, info()

창조적생각 2021. 7. 2. 10:07

다음과 같은 멤버변수를 갖는 Sutdacard클래스를 정의하고 두 개의 생성자와 info()를 추가해서 실행결과와 같은 결과를 얻도록 하시오.

타입      |  변수       |                       설명                |

--------------------------------------------------------------

int        |   num      |     카드의 숫자.(1~10사이의 정수) |

---------------------------------------------------------------

boolean |   isKwang |   광이면 true, 아니면 false           |

---------------------------------------------------------------

[결과]

3

1K

 

[풀이]

public class practice6_2 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Sutdacard card1 = new Sutdacard(3,false);
Sutdacard card2 = new Sutdacard();

System.out.println(card1.info());
System.out.println(card2.info());

}

}

class Sutdacard {
int num;
boolean isKwang;

public Sutdacard(int num, boolean isKwang) {
this.num =num;
this.isKwang = isKwang;
}


public Sutdacard() {
this(1,true);
/*이렇게 써줘도 됩니다.
 * num =1;
 * isKwang = true;
 */
}

String info() {// info()는 해석 그대로 클래스 안의 정보를 보여주는 것입니다.
if(this.isKwang)
return this.num+"k"; //이 값을 리턴값으로 넣었을 때 클래스 안의 멤버들의 정보를 보여줍니다.
else return this.num+" ";
/*if else문을 쓰지 않고 <? :>문을 사용해서 return값을 줄 수 있습니다.

 

return (num +(isKwang? "k" : " "));
 */

}
}

728x90