ํฌ์ŠคํŠธ

Java ์ œ์–ด์ž

Java ์ œ์–ด์ž

๐Ÿ”Ž ์ ‘๊ทผ ์ œ์–ด์ž

์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

์™ธ๋ถ€๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. (์บก์Аํ™”)

๋˜ํ•œ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๋ถ„์„ ๊ฐ์ถ”๊ธฐ ์œ„ํ•ด์„œ ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


ํด๋ž˜์Šค์˜ ์ ‘๊ทผ ์ œํ•œ

โ’ˆ pubilc

๊ฐ™์€ ํŒจํ‚ค์ง€ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์—์„œ๋„ ์•„๋ฌด๋Ÿฐ ์ œํ•œ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋ž˜์Šค๋กœ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.


โ’‰ protected

๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ์ž์† ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ


โ’Š default

๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅ


โ’‹ private

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


์ œ์–ด์ž ๊ฐ™์€ ํด๋ž˜์Šค ๊ฐ™์€ ํŒจํ‚ค์ง€ ์ž์†ํด๋ž˜์Šค ์ „์ฒด
public โญ•๏ธ โญ•๏ธ โญ•๏ธ โญ•๏ธ
protected โญ•๏ธ โญ•๏ธ โญ•๏ธ (๋‹ค๋ฅธ ํŒจํ‚ค์ง€) -
default โญ•๏ธ โญ•๏ธ - -
private โญ•๏ธ - - -


์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ ์ œํ•œ

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” new ์—ฐ์‚ฐ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ, ์–ด๋””์—์„œ๋‚˜ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š”๊ฑด ์•„๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž๋Š” public , protected , default , private ์ ‘๊ทผ ์ œํ•œ์„ ๊ฐ€์ง„๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pulic class ClassName {

    // public
    public ClassName();

    // protectd
    protected ClassName();

    // default 
    ClassName();

    // private
    private ClassName();

}

ํด๋ž˜์Šค ๋‚ด์— ์ƒ์„ฑ์ž๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์œผ๋ฉด, ์ปดํŒŒ์ผ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ์ž๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ด๋•Œ ์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ ์ œํ•œ์ž๋Š” ํด๋ž˜์Šค์˜ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ ๋”ฐ๋ผ๊ฐ„๋‹ค.


โ’ˆ public

๋ชจ๋“  ํŒจํ‚ค์ง€์—์„œ ์•„๋ฌด๋Ÿฐ ์ œํ•œ ์—†์ด ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.


โ’‰ protected

default ์ ‘๊ทผ ์ œํ•œ์ž์™€ ๋น„์Šทํ•˜๋‹ค. ์ฐจ์ด์ ์€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์†ํ•œ ํด๋ž˜์Šค๊ฐ€

ํ•ด๋‹น ํด๋ž˜์Šค์˜ ์ž์‹์ด๋ผ๋ฉด ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.


โ’Š default


โ’‹ private

๋™์ผํ•œ ํŒจํ‚ค์ง€์ด๊ฑด, ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์ด๊ฑด ์ƒ๊ด€์—†์ด ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๋‹ค.

์˜ค๋กœ์ง€ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.



ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ ์ ‘๊ทผ๊ถŒํ•œ์ž.

์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œํ•œ์˜ ๋‚ด์šฉ๊ณผ ๋น„์Šทํ•˜๋‹ค.



๐Ÿ”Ž ์บก์Аํ™”์™€ ์ ‘๊ทผ ์ œ์–ด์ž

๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•œ ๊ฐ„์ ‘ ์ ‘๊ทผ์„ ์œ ๋„ํ•ด์•ผ ํ•œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Time {

    private int hour;
    private int minute;
    private int second;

    public void getHour() {
        return hour;
    }

    public void setHour(int hour) {
        if (isNotValidHour(hour)) return;   // True์ผ ๊ฒฝ์šฐ
        this.hour = hour;                   // False์ผ ๊ฒฝ์šฐ
    }

    // ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ง„ hour์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
    private boolean isNotValidHour(int hour) {
        return hour < 0 || hour > 23;
    }

}
์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.