Skip to content

TIL - 2025-01-27ย #8

@Sewoni

Description

@Sewoni

๐Ÿ‹TIL - 2024 -01 -27 - Monday

๐Ÿ“š ์˜ค๋Š˜์˜ ํ•™์Šต

  • ๐Ÿ€ Jest, Uni Test, Mocha, Postman
    Jest, Uni Test, Mocha, Postman์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ฒ˜์Œ ๋“ค์—ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค!
    -> Jest, Uni Test, Mocha, Postman

  • ๐Ÿ€ Encapsulation? ์ด ๋ฌด์—‡์ธ๊ฐ€. (Getter&Setter)

๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ

  • ๐Ÿ€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ "๊ฐ์ฒด์˜ ์†์„ฑ์„ ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ ๋œ๋‹ค" ๋Š” ๊ฐœ๋…์„ ๋ฐฐ์›€.
  • ๐Ÿ€ ํ•˜์ง€๋งŒ JavaScript์—์„œ๋Š” ๊ฐ์ฒด ์†์„ฑ์„ ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๐Ÿ€ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•ด์กŒ๋‹ค!

๐ŸŽฏ ์‹œ๋„ํ•œ ๊ณผ์ •

  • ๐Ÿ€ getter์™€ setter๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‚ด๋ถ€ ์†์„ฑ _money๋ฅผ ๋ณดํ˜ธํ–ˆ๋‹ค
// getter: ๋ˆ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€์—์„œ๋Š” _money๋ฅผ ์ง์ ‘ ๋ณด์ง€ ์•Š๊ณ  money๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  get money() {
    return this._money; // ๋‚ด๋ถ€ ์†์„ฑ _money ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  }

  // setter: ๋ˆ์„ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€์—์„œ๋Š” _money๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  money๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  set money(val) {
    this._money = val; // ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ _money์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  }

๐Ÿค ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • ๐Ÿ€ Getter & Setter
  • getter: get money()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ _money ๊ฐ’์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ˜ํ™˜.
  • setter: set money(val)์„ ์‚ฌ์šฉํ•˜์—ฌ _money ๊ฐ’์„ ์™ธ๋ถ€์—์„œ ์„ค์ •.
  • โžก๏ธ Encapsulation!
    1. ๐Ÿ“Œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜!
    2. ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ(์†์„ฑ)์™€ ์ด๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฉ”์„œ๋“œ(ํ•จ์ˆ˜)๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๊ณ ,
    3. ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ œํ•œํ•˜๋Š” ๊ฐœ๋….
    • โžก๏ธ ์‰ฝ๊ฒŒ ๋งํ•ด, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ณดํ˜ธ๋ง‰ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿณ ๋А๋‚€ ์ 

  • ๐Ÿ€ Getter & Setter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค!

๐Ÿ”น Getter & Setter vs ์ผ๋ฐ˜ ์†์„ฑ ์ฐจ์ด์ **

๋น„๊ต ํ•ญ๋ชฉ Getter & Setter ์ผ๋ฐ˜ ์†์„ฑ
๋ฐ์ดํ„ฐ ๋ณดํ˜ธ โœ… ์บก์Аํ™” ๊ฐ€๋Šฅ โŒ ์ง์ ‘ ์ ‘๊ทผ ๊ฐ€๋Šฅ
๊ฐ’ ๊ฒ€์ฆ ๊ฐ€๋Šฅ โœ… ๊ฐ€๋Šฅ (setter ํ™œ์šฉ) โŒ ๋ถˆ๊ฐ€๋Šฅ
๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์—ฌ๋ถ€ โœ… ๋‚ด๋ถ€์ ์œผ๋กœ ํ•จ์ˆ˜ ์‹คํ–‰ โŒ ์ง์ ‘ ์†์„ฑ ์ ‘๊ทผ
์‚ฌ์šฉ๋ฒ• obj.property obj.property

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions