프로그래밍

[자바 응용 문제] 메서드 본문

자바/자바 예제 풀이

[자바 응용 문제] 메서드

시케 2023. 5. 20. 22:00
728x90
반응형

메서드

교재: 멘토씨리즈 JAVA

223p ~ 225p

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");
	}
}

답:

Hello

Hello

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() {
		
	}
}
// 실행 결과
안녕하세요, 제 이름은 철수입니다.
안녕하세요, 제 이름은 영희입니다.

답안코드

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 + "입니다.");
	}
}

답: 괄호 짝 안 맞음, 구문이 메서드 밖에 있음

 

답안코드

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. 다음과 같은 결과가 나오도록 코드를 수정해 보세요.

package section08;

class Person {
	private int age;

	void setAge(int num) {
		age = num;
	}

	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() + "세입니다.");
	}
}
//실행 결과
잘못된 수를 입력하셨습니다. 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() + "세입니다.");
	}
}
728x90
반응형

'자바 > 자바 예제 풀이' 카테고리의 다른 글

[자바 응용 문제] 상속  (0) 2023.05.20
[자바 응용 문제] 생성자  (0) 2023.05.20
[자바 응용 문제] 클래스  (0) 2023.05.20
[자바 응용 문제] 배열  (0) 2023.05.20
[자바 응용 문제] 제어문2  (0) 2023.05.20
Comments