본문 바로가기
멘토씨리즈 자바/예제

[응용문제] 메서드

by Hwanii_ 2023. 5. 21.
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; 아래에 있는 코드는 전부 도달할 수 없다고 에러가 뜨게 된다.

 

Console

 

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