๋ฐ˜์‘ํ˜•
JuneBee
JuneBee
JuneBee
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (102)
    • ๐Ÿ‘” JOB (10)
      • ์ „ํ˜• ํ›„๊ธฐ (10)
    • ๐ŸŽฎ GAME (9)
      • ์ ค๋‹ค | ์™•๊ตญ์˜ ๋ˆˆ๋ฌผ ๊ฒŒ์ž„ ์ผ๊ธฐ (9)
    • ๐Ÿ““ STUDY (60)
      • JAVA (15)
      • TIL (2)
      • FASTCAMPUS (32)
      • ํ™˜๊ฒฝ์„ค์ • (2)
      • YOCTO (1)
      • OS (4)
      • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ์ธ ์•ก์…˜ (2)
    • ๐ŸŽงDAILY (6)
    • ๐Ÿ‡ฉ๐Ÿ‡ช GERMAN (17)
      • ๋Œ€ํ•™์› ์ง€์› (3)
      • ์ง€์› ํ›„๊ธฐ (11)
      • ๋…์ผ์–ด ์‹œํ—˜ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ์ผ์ƒ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Java
  • ์‹ธํ”ผ
  • ๋…์ผ์–ด
  • ๋…์ผ์œ ํ•™
  • ๋…์ผ
  • ์„์‚ฌ
  • ํ•œ๋ฒˆ์—๋๋‚ด๋Š”์ฝ”๋”ฉํ…Œ์ŠคํŠธ369JavaํŽธ์ดˆ๊ฒฉ์ฐจํŒจํ‚ค์ง€Online.
  • sort
  • B1
  • ์™•๊ตญ์˜๋ˆˆ๋ฌผ
  • ์ •๋ ฌ
  • ํŒจ์บ ์ฑŒ๋ฆฐ์ง€
  • ๋ชจํ—˜์ผ๊ธฐ
  • ํ”Œ๋ ˆ์ด์ผ๊ธฐ
  • C/C++
  • ์ง์žฅ์ธ์ธ๊ฐ•
  • ์ž๋ฃŒ๊ตฌ์กฐ
  • ์™•๋ˆˆ
  • telc
  • ๊ฒŒ์ž„์ผ๊ธฐ
  • ์œ ํ•™
  • ์ทจ์—…์ค€๋น„
  • ํŒจ์ŠคํŠธ์บ ํผ์Šคํ›„๊ธฐ
  • ํฌ๋ฃจ์Šค์นผ
  • ๋ฐฑํŠธ๋ž˜ํ‚น
  • ํŒจ์ŠคํŠธ์บ ํผ์Šค
  • ์ง์žฅ์ธ์ž๊ธฐ๊ณ„๋ฐœ
  • bruteforce
  • SSAFY
  • ์ ค๋‹ค

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
JuneBee

JuneBee

์บก์Аํ™”
๐Ÿ““ STUDY/JAVA

์บก์Аํ™”

2022. 5. 17. 23:25
728x90
๋ฐ˜์‘ํ˜•

Encapsulation ( ์บก์Аํ™” )

<1>์ œํ•œ์ž

  1. ์ œํ•œ์ž (modifier) ํด๋ž˜์Šค, ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ ์„ ์–ธ๋ถ€์™€ ํ•จ๊ผ ์‚ฌ์šฉ๋˜์–ด ๋ถ€๊ฐ€์ ์ธ ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌ
    • ์ ‘๊ทผ ์ œํ•œ์ž : private, default(package), protected, public
    • static : ํด๋ž˜์Šค ๋ ˆ๋ฒจ์˜ ์š”์†Œ ์„ค์ •
    • final : ์š”์†Œ๋ฅผ ๋”์ด์ƒ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๊ฒŒ ํ•จ
    • abstract: ์ถ”์ƒ ๋ฉ”์„œ๋“œ ๋ฐ ์ถ”์ƒ ํด๋ž˜์Šค ์ž‘์„ฑ
    • synchronized: ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ์—์„œ์˜ ๋™๊ธฐํ™” ์ฒ˜๋ฆฌ
  2. ์ ‘๊ทผ ์ œํ•œ์ž

public class Parent{
	public int publicVar;protected int protectedVar;int defaultVar;private int privVar;
	public void useMember(){
	this.publicVar=10; this.protectedVa= 10;this.defaultVar=10;this.privVar 10;}
}
public class Child extends Parent{
public void useMember(){
this.publicVar = 10; 
this.protectVar =10; 
this.defaultVar=10; //๊ฐ€๋Šฅ
this.privVar =10 ;
this.some = 10; //๋ถˆ๊ฐ€๋Šฅ
}
}
public class Friend {

public void method(){
p.publicVar=1;
p.protectVar=1; 
p.defaultVar =1; //๊ฐ€๋Šฅ
p.privVar=1; //not visible
}
}

๐Ÿงธ ํ•˜๋‚˜์˜ ๋Œ€์ƒ์— ์—ฌ๋Ÿฌ ์ œํ•œ์ž๋ฅผ ์กฐํ•ฉ ๊ฐ€๋Šฅํ•˜๋‚˜, ์ ‘๊ทผ ์ œํ•œ์ž๋Š” ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค → Eclipse ๋ฅผ ์—ด์–ด๋ณด๋ฉด, class ์ƒ์„ฑ ์‹œ modifiers๋ž€์„ ๋ณด๋ฉด ์ ‘๊ทผ์ œํ•œ์ž๋Š” radio button์œผ๋กœ ํ•˜๋‚˜๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, abstract๋‚˜ final ์€ ์ค‘๋ณต ์„ ํƒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿงธ ์ˆœ์„œ๋Š” ๋ฌด๊ด€ํ•˜๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ ๋งจ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค

๐Ÿงธ final ์šฉ๋„ :

  • final class: ๋”์ด์ƒ ํ™•์žฅ ํ•  ์ˆ˜ ์—†์Œ - ์ƒ์† ๊ธˆ์ง€ → ์˜ค๋ฒ„๋ผ์ด๋“œ๋ฅผ ๋ฐฉ์ง€ (์ด๋ฏธ ์™„๋ฒฝ^^)
  • final method: ๋”์ด์ƒ ์žฌ์ •์˜ ๋ถˆ๊ฐ€ → ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๊ธˆ์ง€
  • final variable: ๋”์ด์ƒ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ → ์ƒ์ˆ˜ํ™”

<2>์บก์Аํ™”

๐Ÿคฆ๐Ÿป‍โ™€๏ธ Eclipse > Source ๋“ค์–ด๊ฐ€๋ฉด constructors, getters and setters ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค€๋‹ค !

๋ฐ์ดํ„ฐ ์€๋‹‰๊ณผ ๋ณดํ˜ธ

์™ธ๋ถ€์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ์†Œ์ค‘ํ•œ ์ •๋ณด๊ฐ€ ๋ณดํ˜ธ๋˜์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ณ€์ˆ˜๋ฅผ private ์ ‘๊ทผ์œผ๋กœ ๋ง‰๊ณ  ๊ณต๊ฐœ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ ํ†ต๋กœ๋ฅผ ๋”ฐ๋กœ ๋งˆ๋ จํ•ด์ค€๋‹ค (Setters & Getters)

<3>์‹ฑ๊ธ€ํ„ด ๋””์ž์ธ ํŒจํ„ด

  1. ๊ฐ์ฒด์˜ ์ƒ์„ฑ์„ ์ œํ•œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
    • ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ํ•„์š” ์—†๋Š” ๊ฒฝ์šฐ: ์ˆ˜์ •๊ฐ€๋Šฅํ•œ ๋งด๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์—†๊ณ  ๊ธฐ๋Šฅ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ (stateless)
    • ๊ฐ์ฒด๋ฅผ ๊ณ„์† ์ƒ์„ฑ/ ์‚ญ์ œํ•˜๋Š”๋ฐ ๋งŽ์€ ๋น„์šฉ์ด ๋“ค์–ด์„œ ์žฌ์‚ฌ์šฉ์ด ์œ ๋ฆฌํ•  ๊ฒฝ์šฐ
  2. ์‹ฑ๊ธ€ํ„ด ๋””์ž์ธ ํŒจํ„ด
    1. ์ƒ์„ฑ์ž์˜ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ private์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ƒ์„ฑ์ž์— ์ ‘๊ทผ ๊ธˆ์ง€
    2. ๋‚ด๋ถ€์—์„œ๋Š” private์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ง์ ‘ ๊ฐ์ฒด ์ƒ์„ฑ → ๋งด๋ฒ„ ๋ณ€์ˆ˜์ด๋ฏ€๋กœ private
    3. Getter ์ƒ์„ฑ : ์™ธ๋ถ€์—์„œ private member์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ(setter๋Š” ํ•„์š”x)
    4. Getter ์™€ ๋ณ€์ˆ˜์— static์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ์ฒด ์—†์ด ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ

๐Ÿงธ ์™ธ๋ถ€์—์„  getter ์„ ํ†ตํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ์žฌ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋‹ค

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ““ STUDY > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

List  (0) 2022.05.18
QUEUE  (0) 2022.05.18
๋‹คํ˜•์„ฑ  (0) 2022.05.17
์ƒ์†  (0) 2022.05.17
์ถ”์ƒํ™”  (0) 2022.05.17
    '๐Ÿ““ STUDY/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • List
    • QUEUE
    • ๋‹คํ˜•์„ฑ
    • ์ƒ์†
    JuneBee
    JuneBee
    โ‚Šหš.๐ŸŽง๐Ÿ““ ๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ๐“‚ƒ๐Ÿ–Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”