๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1. Java ์ž๋ฐ”/1_0. ์ฑ…, ๊ฐ•์˜

[๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ] 4์žฅ 236~240์ชฝ ์—ฐ์Šต๋ฌธ์ œ ์ด๋ก ๋ฌธ์ œ_์ •๋‹ต

by ๋น„์†Œ์•ผ 2022. 10. 19.
728x90

๋ช…ํ’ˆ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ 4์žฅ 236~240์ชฝ ์—ฐ์Šต๋ฌธ์ œ ์ด๋ก ๋ฌธ์ œ_์ •๋‹ต

luxury java programming ch4 p236~240 exercise theory correct answer
1๋ฒˆ

 

๋‹ต: 4๋ฒˆ ํ•„๋“œ๋Š” ํด๋ž˜์Šค ๋‚ด์—์„œ private ๋ณด๋‹ค public์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

1๋ฒˆ O // ์ž๋ฐ”๋Š” ํด๋ž˜์Šค ์•ˆ์— ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค. ํด๋ž˜์Šค ๋ฐ–์—๋Š” ์–ด๋–ค ์ฝ”๋“œ๋„ ์ž‘์„ฑํ•  ์ˆ˜ ์—†๋‹ค.

2๋ฒˆ O // ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‹€์ด๋‹ค.

3๋ฒˆ O // ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ํ•„๋“œ, ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ํ•œ๋‹ค.

4๋ฒˆ X // ํ•„๋“œ๋Š” private์œผ๋กœ ์„ ์–ธํ•˜์—ฌ ์™ธ๋ถ€์˜ ์ ‘๊ทผ์œผ๋กœ ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

2๋ฒˆ

 

๋‹ต: 4๋ฒˆ ์ƒ์„ฑ์ž์—์„œ๋Š” ์•„๋ฌด ๊ฐ’๋„ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— return๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

1๋ฒˆ O // ํด๋ž˜์Šค ๋‚ด์— ์ƒ์„ฑ์ž๊ฐ€ ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋„ ์—†๊ณ  ๋‹จ์ˆœ ๋ฆฌํ„ด๋งŒ ํ•˜๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค€๋‹ค.

2๋ฒˆ O // ์ƒ์„ฑ์ž๋Š” ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ž๋ฐ”์—์„œ ์ด๋ฆ„์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

3๋ฒˆ O // this() ๋ฉ”์†Œ๋“œ๋Š” ์ƒ์„ฑ์ž ๋‚ด์—์„œ ๋™์ผํ•œ ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. 

// ์ƒ์„ฑ์ž ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์ƒ์„ฑ์ž์˜ ์ œ์ผ ์ฒ˜์Œ์— ์‹คํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.

 

4๋ฒˆ X // ์ƒ์„ฑ์ž๋Š” ๋ฆฌํ„ด์ด ์—†์œผ๋ฏ€๋กœ ๋ฆฌํ„ด ํƒ€์ž…์„ ์ง€์ •ํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, return๋ฌธ์€ ๋ฉ”์†Œ๋“œ์˜ ์‹คํ–‰์„ ๋๋‚ด๊ณ  ํ˜ธ์ถœํ•œ ๊ณณ์œผ๋กœ ๋Œ์•„๊ฐ€๋ผ๋Š” ๋ช…๋ น์ด๋ฏ€๋กœ ์ƒ์„ฑ์ž ์‹คํ–‰์„ ๋๋‚ด๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์ƒ์„ฑ์ž ๋‚ด์— ์–ด๋””์„œ๋“  ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

 

3๋ฒˆ

 

๋‹ต: 3๋ฒˆ Power p [10] = new Power [10];

 

1๋ฒˆ O // ํฌ๊ธฐ๊ฐ€ 10์ธ Power ๊ฐ์ฒด ๋ฐฐ์—ด p ์„ ์–ธ ๋™์‹œ์— ์ƒ์„ฑ

2๋ฒˆ O // ํฌ๊ธฐ๊ฐ€ 10์ธ Power ๊ฐ์ฒด ๋ฐฐ์—ด p ์„ ์–ธ ๋™์‹œ์— ์ƒ์„ฑ

3๋ฒˆ X // ๋ฐฐ์—ด ์„ ์–ธ ๋™์‹œ์— ํฌ๊ธฐ ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค.

4๋ฒˆ O // Power ๊ฐ์ฒด ๋ฐฐ์—ด p ์„ ์–ธ, ์•„์ง ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ p๋งŒ ์ƒ์„ฑ๋˜๊ณ  null๋กœ ์ดˆ๊ธฐํ™”๋œ ์ƒํƒœ์ด๋‹ค.

 

4๋ฒˆ

 

๋‹ต: 2๋ฒˆ Book ๊ฐ์ฒด๊ฐ€ 10๊ฐœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

 

// ๋ฌธ์ œ์˜ ์ฝ”๋“œ๋Š” ํฌ๊ธฐ๊ฐ€ 10์ธ Book ๊ฐ์ฒด ๋ฐฐ์—ด ์„ ์–ธ ๋™์‹œ์— ์ƒ์„ฑํ•˜๋Š” ๋ฌธ์žฅ์ด๋‹ค.

 

1๋ฒˆ O // Book ๊ฐ์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ book

2๋ฒˆ X // ๊ฐ์ฒด ๋ฐฐ์—ด์€ ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์š”์†Œ์— ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด์ด๋‹ค. ์•„์ง Book ๊ฐ์ฒด๋Š” ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์•˜๋‹ค. Book ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ €์žฅํ•  ํฌ๊ธฐ๊ฐ€ 10์ผ ๋ฐฐ์—ด๋งŒ ๋งŒ๋“ค์–ด์ง„ ์ƒํƒœ์ด๋‹ค.

3๋ฒˆ O // ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด์— new ์—ฐ์‚ฐ์ž๋กœ ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ๋’ค ๋Œ€์ž…ํ•˜์—ฌ์•ผ ๊ฐ์ฒด ๋ฐฐ์—ด์ด ์™„์„ฑ๋œ๋‹ค.

4๋ฒˆ O // ๊ฐ์ฒด ๋ฐฐ์—ด์€ Book ๊ฐ์ฒด์˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์š”์†Œ์— ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด์ด๋‹ค. book์˜ ์ธ๋ฑ์Šค i๋ฒˆ์งธ ์š”์†Œ์—๋Š” Book ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

 

5๋ฒˆ

 

๋‹ต: 1๋ฒˆ 

1
2
void f(int a) { x = a; }
int f(int b) { return x+b; }
cs

 

// ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ intํ˜• 1๊ฐœ๋กœ ๋™์ผํ•˜์—ฌ, ์–ด๋А ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์˜€๋Š”์ง€ ๊ตฌ๋ถ„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

// ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์€ ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์€ ๊ฐ™์•„์•ผํ•˜๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด๋‚˜ ๊ฐœ์ˆ˜๋Š” ๋‹ฌ๋ผ์•ผํ•œ๋‹ค.

 

// ์ ‘๊ทผ ์ง€์ •์ž๋‚˜ ๋ฆฌํ„ด ํƒ€์ž…์€ ์ƒ๊ด€ ์—†๋‹ค.

 

6๋ฒˆ

 

(1) ๋‹ต: 

1
2
3
4
5
6
7
public TV() {
    this(32"LG");                    // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int, String 2๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ
}
 
public TV(String manufacturer) {
    this(32, manufacturer);            // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int, String 2๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ
}
cs

 

// this() ๋ฉ”์†Œ๋“œ๋Š” ์ƒ์„ฑ์ž ๋‚ด์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

// this() ๋ฉ”์†Œ๋“œ๋Š” ์ƒ์„ฑ์ž ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ณ , ์ƒ์„ฑ์ž์˜ ์ œ์ผ ์ฒซ๋ฒˆ์งธ ์ค„์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

 

(2) ๋‹ต:

new TV(); ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ธ์ž๊ฐ€ ํ•˜๋‚˜๋„ ์—†์œผ๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด this(32, "LG"); ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด 32์ธ์น˜ LG๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

 

new TV("์‚ผ์„ฑ"); ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ธ์ž๊ฐ€ String 1๊ฐœ์ด๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ String 1๊ฐœ์ธ ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด this(32, manufacturer); ๋ฉ”์†Œ๋“œ์— ์˜ํ•ด 32์ธ์น˜ ์‚ผ์„ฑ์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

(3) ๋‹ต: 

1
new TV(65"์‚ผ์„ฑ");
cs

 

(4) ๋‹ต: ์ƒ์„ฑ์ž ๋‚ด์— ์ค‘๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

7๋ฒˆ

 

๋‹ต:

1
aPerson.age = 17// Person ํด๋ž˜์Šค์˜ private ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•˜์—ฌ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 
cs

 

// private์œผ๋กœ ์„ ์–ธ๋œ ๋ฉค๋ฒ„๋Š” ๋™์ผํ•œ ํด๋ž˜์Šค์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

1. // public ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜์—ฌ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋กœ age๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

1
public void setAge(int age) {this.age = age;} 
cs

 

2. // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int 1๊ฐœ์ธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ age๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

1
public Person(int age) {this.age = age;} 
cs

 

 

๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์บก์Аํ™” ์›์น™์— ๊ทผ๊ฑฐํ•˜์—ฌ ํ•„๋“œ๋Š” private์œผ๋กœ ์„ ์–ธํ•˜๊ณ  public ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด private ๋ฉค๋ฒ„์— ์ ‘๊ทผ ํ•˜๋Š” ๋ฐฉ์‹์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค. ์ƒ์„ฑ์ž๋Š” ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ, ์ดˆ๊ธฐํ™”์— ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int 1๊ฐœ์ธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜์—ฌ age์— 17์„ ๋Œ€์ž…ํ•˜์—ฌ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ์ ˆํ•ด๋ณด์ธ๋‹ค.

 

8๋ฒˆ

 

// ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์บก์Аํ™” ์›์น™์— ๊ทผ๊ฑฐํ•˜์—ฌ ํ•„๋“œ๋Š” private์œผ๋กœ ์„ ์–ธํ•˜๊ณ  public ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด private ๋ฉค๋ฒ„์— ์ ‘๊ทผ ํ•˜๋Š” ๋ฐฉ์‹์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

(1) ๋‹ต: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Power {
    private int kick;
    private int punch;
 
    // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ int 2๊ฐœ์ธ ์ƒ์„ฑ์ž
    public Power(int kick, int punch) {
        this.kick = kick;
        this.punch = punch;
    }
}
 
public class Example {
    public static void main(String[] args) {
        // ์ƒ์„ฑ์ž๋Š” new ์—ฐ์‚ฐ์ž์— ์˜ํ•ด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ, ๋”ฑ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋œ๋‹ค.
        Power robot = new Power(1020);
    }
}        
cs

 

(2) ๋‹ต: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Power {
    private int kick;
    private int punch;
 
    public void setPower(int kick, int punch) {
        this.kick = kick;
        this.punch = punch;
    }
}
 
public class Example {
    public static void main(String[] args) {
        Power robot = new Power();
 
        // ๊ฐ์ฒด์˜ public ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
        robot.setPower(1020);
    }
}        
cs

 

9๋ฒˆ

 

๋‹ต: ์†Œ๋ฉธ์‹œํ‚ฌ, ๋‹คํ–‰ํ•œ, ๋ ˆํผ๋Ÿฐ์Šค, ๊ฐ€๋น„์ง€, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜, System.gc()

 

10๋ฒˆ

 

(1) ๋‹ต: ๊ฐ€๋น„์ง€๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. // ๋ฐ˜๋ณต๋ฌธ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋ ˆํผ๋Ÿฐ์Šค s๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” String ๊ฐ์ฒด๋Š” new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ ์ƒ์„ฑ๋˜๊ณ  ๊ธฐ์กด์— s๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋Š” ๋” ์ด์ƒ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๊ฐ€๋น„์ง€๊ฐ€ ๋œ๋‹ค.

 

(2) ๋‹ต: ๊ฐ€๋น„์ž๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. // String ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค c๊ฐ€ a๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋˜ String ๊ฐ์ฒด๋ฅผ ๊ณ„์† ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์—†๋Š” ๊ฐ์ฒด๋Š” ๋ฐœ์ƒ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

11๋ฒˆ

 

๋‹ต: 4๋ฒˆ static int g() { return getB(); }

// static ๋ฉ”์†Œ๋“œ์—์„œ non-static ๋ฉค๋ฒ„๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ ์ „์— static ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

1๋ฒˆ // static ๋ฉ”์†Œ๋“œ์—์„œ static ๋ฉค๋ฒ„ ์ ‘๊ทผ

2๋ฒˆ // non-static ๋ฉ”์†Œ๋“œ์—์„œ non-static ๋ฉค๋ฒ„ ์ ‘๊ทผ

3๋ฒˆ // non-static ๋ฉ”์†Œ๋“œ์—์„œ static ๋ฉค๋ฒ„ ์ ‘๊ทผ

 

12๋ฒˆ

 

๋‹ต: 1๋ฒˆ StaticSample.x = 5; // non-static ๋ฉค๋ฒ„๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. ์–ด๋А ๊ฐ์ฒด์˜ ๋ฉค๋ฒ„์ธ์ง€ ์‹๋ณ„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—

 

// static ๋ฉค๋ฒ„๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ , ๊ฐ์ฒด ์ƒ์„ฑ ํ›„์—๋Š” ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๊ฐ์ฒด ์ด๋ฆ„ ๋‘˜ ๋‹ค๋กœ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2๋ฒˆ // static ๋ฉค๋ฒ„๋ฅผ ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ

3๋ฒˆ // static ๋ฉค๋ฒ„๋ฅผ ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ

4๋ฒˆ // static ๋ฉค๋ฒ„๋ฅผ ๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ๊ฐ์ฒด ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ

 

13๋ฒˆ

 

๋‹ต: 

1
2
3
4
5
6
7
8
class Test{
    public int f(int a, int b) {        // public static int f(int a, int b)๋กœ ์ˆ˜์ • 
        return a + b;
    }
    public static void main(String[] args) {
        int sum = f(24);                // ํ‹€๋ฆฐ ๋ถ€๋ถ„
    }
}
cs

 

// static ๋ฉค๋ฒ„์ธ main() ๋ฉ”์†Œ๋“œ์—์„œ non-static ๋ฉค๋ฒ„ f()์— ์ ‘๊ทผํ•˜์˜€๋‹ค. static ๋ฉ”์†Œ๋“œ์—์„œ๋Š” static ๋ฉค๋ฒ„์—๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ f()๋ฅผ static๋ฉค๋ฒ„๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

 

14๋ฒˆ

 

๋‹ต: 

1. final๋กœ ์„ ์–ธ๋œ ํ•„๋“œ๋Š” ์ƒ์ˆ˜์ด๋‹ค. ์ƒ์ˆ˜๋Š” ์„ ์–ธ์‹œ์— ํ•œ๋ฒˆ ์ดˆ๊ธฐํ™” ๋˜๊ณ  ๋‚˜๋ฉด, ๊ฐ’ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, f() ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์—์„œ x++;๋กœ ์ƒ์ˆ˜ x์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•œ ๋ถ€๋ถ„์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค.

 

2. final๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋Š” ์ƒ์†์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, SpecialRect ํด๋ž˜์Šค์—์„œ extends ํ‚ค์›Œ๋“œ๋กœ Rect ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๊ณ ์ž ํ•œ ๋ถ€๋ถ„์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค.

 

3. final๋กœ ์„ ์–ธ๋œ ๋ฉ”์†Œ๋“œ๋Š” ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ SpecialRect ํด๋ž˜์Šค์—์„œ public void f() ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ ์ž ํ•œ ๋ถ€๋ถ„์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค.

 

15๋ฒˆ

 

๋‹ต:

๊ฐ€๋น„์ง€๋ž€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•œ ๊ฐœ๋„ ์—†๋Š” ๊ฐ์ฒด๋ฅผ ๋งํ•œ๋‹ค.

 

๊ฐ€๋น„์ง€๊ฐ€ ๋งŽ์•„์ง€๋ฉด JVM์—์„œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ํ• ๋‹นํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ค„์–ด๋“ค์–ด ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, JVM์€ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ผ์ • ํฌ๊ธฐ ์ดํ•˜๋กœ ์ค„์–ด๋“ค๊ฒŒ ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ž๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฐ€๋น„์ง€๋ฅผ ํšŒ์ˆ˜ํ•œ๋‹ค.

 

์žฅ์  ์ž๋ฐ”๋Š” C++๊ณผ ๋‹ฌ๋ฆฌ delete ์—ฐ์‚ฐ์ž๋‚˜ ์†Œ๋ฉธ์ž๊ฐ€ ์—†์–ด, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

๋‹จ์  ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ํ”„๋กœ๊ทธ๋žจ์ด ์ผ์‹œ์ ์œผ๋กœ ์ค‘๋‹จ๋œ๋‹ค.

16๋ฒˆ

 

๋‹ต: 

  default public protected private
๊ฐ™์€ ํŒจํ‚ค์ง€ ํด๋ž˜์Šค O O O X
๋‹ค๋ฅธ ํŒจํ‚ค์ง€ ํด๋ž˜์Šค X O X / ์ž์‹ ํด๋ž˜์Šค๋Š” ๊ฐ€๋Šฅ X

 

// ์ ‘๊ทผ ์ง€์ •์ž๋Š” public, protected, default, private 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

// public์€ ๋ชจ๋“  ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ

// protected๋Š” ๋™์ผํ•œ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค๋‚˜ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ

// default๋Š” ๋™์ผํ•œ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ

// private์€ ๋™์ผํ•œ ํด๋ž˜์Šค์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

728x90