1. 다음 빈칸에 알맞은 단어를 작성해보세요.
- [ 메서드 ] (이)란, 클래스 안에서 특정 기능을 수행하기 위한 코드를 하나의 블록으로 묶어 놓은 집합을 말합니다.
- 코드를 따로 분리하는 것을 일종의 [ 모듈화 ] (이)라고 부르는데, 이는 가독성과 유지 보수의 효율성을 높여줍니다.
2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?
package section08;
public class PRACTICE_08_02 {
public static void main(String[] args) {
Person p = new Person();
for(int i = 0; i < 3; i++) {
p.printHello();
}
}
}
class Person {
void printHello() {
System.out.println("Hello");
}
}
3. 다음과 같은 결과가 나오도록 빈칸에 알맞은 코드를 작성해보세요.
- 안녕하세요, 제 이름은 철수입니다.
- 안녕하세요, 제 이름은 영희입니다.
package section08;
public class PRACTICE_08_03 {
public static void main(String[] args) {
Student stu = new Student();
stu.introduce("철수");
stu.introduce("영희");
}
}
class Student {
void introduce(String name) {
System.out.println("안녕하세요, 제 이름은 " + name + "입니다.");
}
}
4. 다음 코드는 컴파일 에러가 발생합니다. 그 이유는 무엇이며, 어떻게 해결해야 할까요?
package section08
public class PRACTICE_08_04 {
public static void main(String[] args) {
Calc c = new Calc();
int result = c.plus(1, 2);
System.out.println("반환받은 결과는 " + result + "입니다.");
}
}
class Calc {
int plus(int num1, int num2) {
int res = num1 + num2;
return res;
}
System.out.println("계산 결과는 " + res + "입니다.");
}
}
System.out.println("계산 결과는 " + res + "입니다."); 위치가 잘못되었다.
res 변수는 plus() 메서드 안에서 선언되었기 때문.
package section08
public class PRACTICE_08_04 {
public static void main(String[] args) {
Calc c = new Calc();
int result = c.plus(1, 2);
System.out.println("반환받은 결과는 " + result + "입니다.");
}
}
class Calc {
int plus(int num1, int num2) {
int res = num1 + num2;
System.out.println("계산 결과는 " + res + "입니다.");
return res;
}
}
}
5. 다음과 같은 결과가 나오도록 코드를 수정해 보세요.
- 잘못된 수를 입력하셨습니다. 1 이상의 값으로 설정하세요.
- lee의 나이는 30세입니다.
package section08;
class Person {
private int age;
void setAge(int num) {
if (num >= 1) {
age = num;
} else {
System.out.println("잘못된 수를 입력하셨습니다. 1 이상의 값으로 설정하세요.");
}
}
int getAge() {
return age;
}
}
public class PRACTICE_08_05 {
public static void main(String[] args) {
Person lee = new Person();
lee.setAge(-10); // 이 부분은 메시지가 출력되어야 합니다.
lee.setAge(30); // 이 부분은 나이가 설정되어야 합니다.
System.out.println("lee의 나이는 " + lee.getAge() + "세입니다.");
}
}
'책 > 멘토씨리즈 자바' 카테고리의 다른 글
[멘토씨리즈 자바] 10 상속 응용문제 (0) | 2024.07.22 |
---|---|
[멘토씨리즈 자바] 09 생성자 (0) | 2024.07.22 |
[멘토씨리즈 자바] 07 클래스 응용문제 (0) | 2024.07.21 |
[멘토씨리즈 자바] 06 배열 응용문제 (0) | 2024.07.21 |
[멘토씨리즈 자바] 05 - 제어문-2 - 응용문제 (0) | 2024.07.18 |