728x90
SECTION 08 - 메서드
223 ~ 225 page.
1. 다음 빈칸에 알맞은 단어를 작성해 보세요.
1) (_____) (이)란, 클래스 안에서 특정 기능을 수행하기 위한 코드를 하나의 블록으로 묶어 놓은 집합을 말합니다.
2) 코드를 따로 분리하는 것을 일종의 (_____) (이)라고 부르는데, 이는 가독성과 유지 보수의 효율성을 높여줍니다.
=>
1) 메서드
2) 모듈화
2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까 ?
class Person {
void printHello() {
sysout("Hello");
}
}
main()
Person p = new Person();
for(int i = 0; i < 3; i++) {
p.printHello();
}
=>
Hello
Hello
Hello
3. 다음과 같은 결과가 나오도록 빈칸에 알맞은 코드를 작성해 보세요.
class Student {
void introduce(_____) {
-> ______________________________________________________
}
}
main()
Student stu = new Student();
stu.introduce("철수");
stu.introduce("영희");
// Console
안녕하세요, 제 이름은 철수입니다.
안녕하세요, 제 이름은 영희입니다.
=>
1) String name
2) sysout("안녕하세요, 제 이름은 " + name + "입니다.");
4. 다음 코드는 컴파일 에러가 발생합니다. 그 이유는 무엇이며, 어떻게 해결해야 할까요 ?
class Calc {
int plus(int num1,int num2) {
int res = num1 + num2;
return res;
}
sysout("계산 결과는 " + res + "입니다.");
}
main()
Calc c = new Calc();
int result = c.plus(1,2);
sysout("반환받은 결과는 " + result + "입니다.");
=>
1. 참조변수 c를 만들고, new 연산자를 통해 객체 생성.
2. class Calc 안의 인스턴스 메서드 plus는 매개변수가 2개짜리 메서드이고,
리턴값으로 int형 타입의 반환값을 토해낸다.
3. return; 이 되면 그걸로 끝이난다. 즉, 그 밑에 어떤 코드도 실행 될 수 없다.
근데, 애초에 출력문은 plus 메서드 밖에 있다.
return; 아래에 있는 코드는 전부 도달할 수 없다고 에러가 뜨게 된다.
5. 다음과 같은 결과가 나오도록 알맞은 코드를 수정해 보세요.
class Person {
private int age;
void setAge(int num) {
age = num;
}
int getAge() {
return age;
}
main()
Person lee = new Person();
lee.setAge(-10);
lee.setAge(30);
sysout("lee의 나이는 " + lee.getAge() + "세 입니다.");
// Console
잘못된 수를 입력하셨습니다. 1 이상의 값으로 설정하세요.
lee의 나이는 30세 입니다.
=>
반응형
'멘토씨리즈 자바 > 예제' 카테고리의 다른 글
[응용문제] 상속 (0) | 2023.05.21 |
---|---|
[응용문제] 생성자 (0) | 2023.05.21 |
[응용문제] 클래스 (0) | 2023.05.21 |
[응용문제] 배열 (0) | 2023.05.21 |
[응용문제] 제어문-2 (0) | 2023.05.21 |