๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“œ ์ž๋ฐ” Java

์ž๋ฐ”(JAVA) - ์ ‘๊ทผ ์ง€์ •์ž (ํ˜น์€ ์ ‘๊ทผ ์ œ์–ด์ž)

by Meteora_ 2021. 1. 27.
728x90

์ž๋ฐ”๋Š” ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๊ฐ๊ฐ์— ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ์ ‘๊ทผ ์ง€์ •์ž(์ ‘๊ทผ์ œ์–ด์ž)๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 

public

๊ณต๊ฐœ ์ˆ˜์ค€์ด ์ œ์ผ ๋†’๋‹ค.

 

private

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

 

๊ณต๊ฐœ์ˆ˜์ค€์ด ์ œ์ผ ๋‚ฎ๋‹ค.

protected 

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

๋‹ค๋ฅธ ํŒจํ‚ค์ง€์—์„œ๋„ ์ƒ์†์„ ๋ฐ›์€ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ.

public๊ณผ ๋‹ค๋ฅธ ์ ์€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ์ž์‹ ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

(์ž˜ ์“ฐ์ง€์•Š์Œ)

default (package private)

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

 

์ ‘๊ทผ ์ง€์ •์ž ๋ฏธ ์„ค์ •์‹œ ์ž๋™์ ์šฉ๋˜๋Š” ํ•ญ๋ชฉ

 

 

์˜ˆ์ œ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package main;
 
import my.MyClass;
 
public class MainClass {
     public static void main(String[] args) {
    
         
         MyClass cls = new MyClass();
         cls.name = "ํ™๊ธธ๋™"
 
         //public -> ์ ‘๊ทผ๊ฐ€๋Šฅ
 
 
         //cls.number = 1; private -> ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ
         
         //cls.height = 172.1; protected 
         
         
         cls.setNumber(123);
         int number = cls.getNumber();
    }
}
 
cs

 

========================================================================================================================================================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package my;
 
public class MyClass {
    /*
      Encapsulation == ์€๋‹‰์„ฑ, ์บก์Аํ™”
        ์™ธ๋ถ€์ ‘๊ทผ ์ œ์–ด(์ฐจ๋‹จ, ์ฝ๊ธฐ์ „์šฉ, ํ—ˆ์šฉ์—ฌ๋ถ€)
      
      ์ ‘๊ทผ์ง€์ •์ž
      private :  ๊ฐœ์ธ์ ์ธ
      public: ๋Œ€์ค‘์ ์ธ  //์™ธ๋ถ€์—์„œ ํ—ˆ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      protected: ๋ณดํ˜ธ(์ƒ์†์— ๊ด€๋ จ) 
     */
    
    
 
 
    // ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋Š” 90% private์œผ๋กœ ์ด๋ฃจ์–ด์ง
    private int number;     //MyClass์ž๊ธฐ ๊ตฌ์—ญ์—์„œ๋งŒ ์‹คํ–‰๋Œ.
    public String name;    // ์™ธ๋ถ€์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ.
    protected double height;
    
    
    //method๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผ์—ฌ๋ถ€ ๊ฒฐ์ •ํ•œ๋‹ค.
    //์™ธ๋ถ€์™€ ํ†ตํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์ž„
    public void setNumber(int number) {//setter
        this.number = number;
    }
    
    public int getNumber() {//getter
        return number;
    }
    
 
}
 
cs

๋Œ“๊ธ€