관리 메뉴

Daehyunii's Dev-blog

[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ] WIL-2 (7.4 ~ 7.10) λ³Έλ¬Έ

πŸ“ 2022. WIL/July, August

[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ] WIL-2 (7.4 ~ 7.10)

Daehyunii 2022. 7. 10. 16:36

  μ΄λ²ˆμ£Όμ— λ°°μš΄κ²ƒμ— λŒ€ν•œ μ „μ²΄μ μœΌλ‘œ 슀슀둜 λ‹€μ‹œ ν•œλ²ˆ 생각해 보고 λΆ€μ‘±ν•œ 점은 무엇인지 확인해 보렀고 ν•œλ‹€. μš°μ„  μ΄λ²ˆμ£Όμ— κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ‚΄νŽ΄λ³΄μžλ©΄,

 

1. 객체 λ¦¬ν„°λŸ΄

2. μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ

3. ν•¨μˆ˜

4. μŠ€μ½”ν”„

5. μ „μ—­ λ³€μˆ˜μ˜ 문제점

6. let,const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„

7. ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈ

8. μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성

 

  μœ„μ™€ 같이 총8μž₯을 κ³΅λΆ€ν–ˆλ‹€. 이 μ€‘μ—μ„œ κ°€μž₯ μ–΄λ ΅κ²Œ 느껴쑌던 뢀뢄은 μ•„λ¬΄λž˜λ„ 'μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ', 'μŠ€μ½”ν”„'와 'ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈ'에 κ΄€ν•΄μ„œ 곡뢀할 λ•Œ 많으 μ‹œκ°„μ΄ κ±Έλ Έμ—ˆλ˜κ±° κ°™λ‹€. 객체 λ¦¬ν„°λŸ΄μ„ ν†΅ν•œ 객체 생성 방식은 기쑴의 파이썬과 크게 λ‹€λ₯Έμ μ΄ μ—†μ—ˆκΈ°μ— μ΄ν•΄ν•˜λŠ”λ° 큰 어렀움은 μ—†μ—ˆκ³ , 였히렀 μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ가 많이 ν—·κ°ˆλ Έλ‹€. μ™œλƒν•˜λ©΄ κ°μ²΄λΌλŠ”κ²ƒμ— λŒ€ν•΄μ„œ ν™• 와 λ‹ΏλŠ” λŠλ‚Œμ΄ 듀지 μ•Šμ•„μ„œ 더 κ·Έλž¬λ˜κ²ƒ κ°™λ‹€. 그치만, 계속 λ°˜λ³΅ν•΄μ„œ 보닀 λ³΄λ‹ˆ μ–΄λŠμ •λ„ 윀곽이 작히기 μ‹œμž‘ν–ˆκ³  μ΄μ œλŠ” 객체가 μ‘°κΈˆμ€ μ΅μˆ™ν•˜κ²Œ 와 λ‹ΏλŠ”κ²ƒ κ°™λ‹€. 

 

  ν•¨μˆ˜λŠ” 어렡지 μ•Šκ²Œ 곡뢀가 κ°€λŠ₯ν–ˆλ‹€. ν•¨μˆ˜λŠ” μ›Œλ‚™ μ΅μˆ™ν•΄μ§„ κ°œλ…μ΄λΌ 어렡지 μ•Šμ•˜λ‹€. ν•˜μ§€λ§Œ μŠ€μ½”ν”„λ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ 생각보닀 λ§Žμ€ μ‹œκ°„μ„ λ³΄λƒˆλ‹€. μŠ€μ½”ν”„λΌλŠ” κ°œλ…λ„ 처음 듀어보고 μ½”λ“œλ₯Ό λ³΄λ©΄μ„œ 직접 비ꡐ해 λ³΄λŠ”κ²Œ μ‰½μ§€λŠ” μ•Šμ•˜λ‹€. 고심끝에 λ‚˜λ¦„λŒ€λ‘œ 정리λ₯Ό 톡해 생각해 λ‚Έ κ²°κ³Ό 'λ‹€λ₯Έ μ½”λ“œκ°€ μ‹λ³„μž μžμ‹ μ„ μ°Έμ‘°ν•  수 μžˆλŠ” μœ νš¨λ²”μœ„'λΌλŠ” μ •μ˜λ₯Ό μ •ν™•ν•˜κ²Œ μ•Œκ³ , 'μž‘μ€ λ²”μœ„λŠ” 큰 λ²”μœ„μ˜ μ‹λ³„μžλ₯Ό μ‚¬μš©ν•  수 μžˆμ§€λ§Œ 큰 λ²”μœ„λŠ” μž‘μ€ λ²”μœ„μ˜ μ‹λ³„μžλ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€'라고 λ‚˜λ¦„λŒ€λ‘œ μ •λ¦¬ν–ˆκ³ , μ΄μ œλŠ” μŠ€μ½”ν”„μ— λŒ€ν•΄μ„œ μ΅μˆ™ν•΄μ§„κ²ƒ κ°™λ‹€.

 

  varν‚€μ›Œλ“œμ— λŒ€ν•΄μ„œ μΈν”„λŸ° κ°•μ˜μ™€ μ±…μ˜ μ•žμ—μ„œμ˜ μ‘°κΈˆμ”© μ•Œλ €μ£Όμ—ˆλ˜ 정보듀을 ν†΅ν•΄μ„œ let, const ν‚€μ›Œλ“œμ™€ λΉ„κ΅ν•˜λŠ”κ²ƒμ€ μ–΄λ ΅λ‹€λŠ” 생각이 λ“€μ§€λŠ” μ•Šμ•˜λ‹€. ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„μ™€ 블둝 레벨 μŠ€μ½”ν”„μ˜ 차이점은 사싀상 지역 μŠ€μ½”ν”„λ₯Ό κ°–λŠ” λ³€μˆ˜λ₯Ό λ§Œλ“€μˆ˜ μžˆλŠ” λ²”μœ„μ˜ 차이일 뿐이기 λ•Œλ¬Έμ΄λ‹€. 였히렀 ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈμ— λŒ€ν•œ 곡뢀가 ꡉμž₯히 ν—·κ°ˆλ Έλ‹€. 아직도 μ ‘κ·Όμž ν”„λ‘œνΌν‹°μ— λŒ€ν•΄μ„œλŠ” μ •ν™•ν•˜κ²Œ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€. 데이터 ν”„λ‘œνΌν‹°μ— λŒ€ν•΄μ„œλŠ” 어렡지 μ•Šκ²Œ 받아듀일 수 μžˆμ—ˆμ§€λ§Œ, μ ‘κ·Όμž ν”„λ‘œνΌν‹°μ— λŒ€ν•΄μ„œλŠ” 아직도 getter/setterκ°€ μ–Έμ œ ν˜ΈμΆœλ˜λŠ”μ§€λ§Œ μ•Œ 뿐, λ„λŒ€μ²΄ 이게 μ–Έμ œ μ‚¬μš©λ˜λŠ”κ²ƒμ΄κ³  μ‹€μ œλ‘œ μ–Έμ œ μ½”λ“œλ₯Ό ν™œμš©ν•΄μ•Ό ν•˜λŠ”μ§€λ„ μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆλ‹€. 이 뢀뢄에 λŒ€ν•΄μ„œλŠ” λ‹€μ‹œ 곡뢀가 ν•„μš”ν•  것 κ°™λ‹€. κ·Έλž˜λ„ μ •ν™•ν•˜κ²Œ μ•Œκ³  μžˆλŠ” 것은 데이터 ν”„λ‘œνΌν‹°λŠ” [Value] [writable] [enumerable] [ configurable] λ‚΄λΆ€ μŠ¬λ‘―μ„ 가지며, μ ‘κ·Όμž ν”„λ‘œνΌν‹°λŠ” [Get] [Set] [enumerable] [configurable] λ‚΄λΆ€ μŠ¬λ‘―μ„ κ°€μ§„λ‹€λŠ” 것이닀. 

 

  λ§ˆμ§€λ§‰μœΌλ‘œ, μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성은 μ˜μ™Έλ‘œ ν•¨μˆ˜λ₯Ό μ •ν™•ν•˜κ²Œ κ³΅λΆ€ν–ˆλ”λ‹ˆ κ³΅λΆ€ν•˜λŠ”λ° 크게 어렀움은 μ—†μ—ˆλ‹€. ν•¨μˆ˜λŠ” ν˜ΈμΆœλ˜λŠ” 방식에 따라 κΈ°λŠ₯을 λ‹¬λ¦¬ν•˜κΈ° λ•Œλ¬Έμ—, 였히렀 κ°„λ‹¨ν•˜κ³  쉽닀고 λŠκ»΄μ‘Œλ‹€. μƒμ„±μž ν•¨μˆ˜μ—μ„œμ˜ κ°€μž₯ 핡심은 constructor이어야 ν•œλ‹€λŠ” 것이닀. λŒ€λΆ€λΆ„μ˜ ν•¨μˆ˜λŠ” constructor μ΄μ§€λ§Œ, ES6λΆ€ν„° λ„μž…λœ λ©”μ„œλ“œ μΆ•μ•½ ν‘œν˜„κ³Ό ν™”μ‚΄ν‘œ ν•¨μˆ˜λŠ” non-constructorλΌλŠ”κ²ƒμ„ κΌ­ μ•Œμ•„μ•Ό ν•œλ‹€. constructor인 ν•¨μˆ˜λŠ” ν”„λ‘œν† νƒ€μž… ν”„λ‘œνΌν‹°λ₯Ό 가지고 ν”„λ‘œν† νƒ€μž… ν”„λ‘œνΌν‹°κ°€ κ°€λ¦¬ν‚€λŠ”κ²ƒμ€ 객체이고 이 객체λ₯Ό ν†΅ν•΄μ„œ ν”„λ‘œν† νƒ€μž… 기반 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ„ κ΅¬ν˜„ν•  수 μžˆκΈ°λ•Œλ¬Έμ΄λ‹€.  

 

  μ „μ²΄μ μœΌλ‘œ λŒ€λΆ€λΆ„ μ •ν™•ν•˜κ²Œ μ΄ν•΄ν•˜λ©΄μ„œ λ„˜μ–΄κ°ˆ 수 μžˆμ—ˆκ³ , μ•žμ„œ μ–ΈκΈ‰ν–ˆλ“―μ΄ ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈμ—μ„œ μ ‘κ·Όμž ν”„λ‘œνΌν‹°λŠ” 2νšŒλ…μ„ ν•  λ•Œ λ‹€μ‹œ ν•œλ²ˆ μ§‘μ€‘μ μœΌλ‘œ 곡뢀λ₯Ό 해보아야 ν•  것 κ°™λ‹€.

 

 

 

 

2022.06.29 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 10μž₯ 객체 λ¦¬ν„°λŸ΄

 

10μž₯ 객체 λ¦¬ν„°λŸ΄

10μž₯ 객체 λ¦¬ν„°λŸ΄ 10.1 κ°μ²΄λž€? μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 객체 기반의 ν”„λ‘œκ·Έλž˜λ° 언어이며, μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” 거의 λͺ¨λ“  것이 객체닀. μ›μ‹œ 값을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ 값은 λͺ¨λ‘ 객체닀. μ›μ‹œ νƒ€μž…μ€ 단

pinetree93.tistory.com

2022.07.01 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ

 

11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ

11μž₯ μ›μ‹œ κ°’κ³Ό 객체의 비ꡐ μ›μ‹œ νƒ€μž…μ˜ κ°’(μ›μ‹œ κ°’) 객체 νƒ€μž…μ˜ κ°’(객체) κ°’μ˜ λ³€κ²½ κ°€λŠ₯ μ—¬λΆ€ λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’ λ³€κ²½ κ°€λŠ₯ν•œ κ°’ λ³€μˆ˜μ— ν• λ‹Ήμ‹œ, μ €μž₯λ˜λŠ” 것 μ‹€μ œ 값이 μ €μž₯ μ°Έμ‘° 값이 μ €μž₯ κ°’

pinetree93.tistory.com

2022.07.02 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 12μž₯ ν•¨μˆ˜

 

12μž₯ ν•¨μˆ˜

12.1 ν•¨μˆ˜λž€? ν•¨μˆ˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ κ°€μž₯ μ€‘μš”ν•œ 핡심 κ°œλ…μ΄λ‹€. ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ ν•¨μˆ˜λŠ” 일련의 과정을 문으둜 κ΅¬ν˜„ν•˜κ³  μ½”λ“œ λΈ”λ‘μœΌλ‘œ κ°μ‹Έμ„œ ν•˜λ‚˜μ˜ μ‹€ν–‰ λ‹¨μœ„λ‘œ μ •μ˜ν•œ 것이닀. ν•¨μˆ˜λŠ”

pinetree93.tistory.com

2022.07.03 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 13μž₯ μŠ€μ½”ν”„

 

13μž₯ μŠ€μ½”ν”„

13.1 μŠ€μ½”ν”„λž€? μŠ€μ½”ν”„λž€ μ‹λ³„μž μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ— μ˜ν•΄ λ‹€λ₯Έ μ½”λ“œκ°€ μ‹λ³„μž μžμ‹ μ„ μ°Έμ‘°ν•  수 μžˆλŠ” 유효 λ²”μœ„λ₯Ό λ§ν•œλ‹€. 즉, μŠ€μ½”ν”„λŠ” μ‹λ³„μžκ°€ μœ νš¨ν•œ λ²”μœ„λ₯Ό λ§ν•œλ‹€. μ•žμ„œ κ²½ν—˜ν•œ 바와 κ°™

pinetree93.tistory.com

2022.07.04 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 14μž₯ μ „μ—­ λ³€μˆ˜μ˜ 문제점

 

14μž₯ μ „μ—­ λ³€μˆ˜μ˜ 문제점

14.1 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° 14.1.1 지역 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° λ³€μˆ˜λŠ” 선언에 μ˜ν•΄ μƒμ„±λ˜κ³  할당을 톡해 값을 κ°–λŠ”λ‹€. 그리고 μ–Έμ  κ°€ μ†Œλ©Έν•œλ‹€. 즉 λ³€μˆ˜λŠ” 생물과 μœ μ‚¬ν•˜κ²Œ μƒμ„±λ˜κ³  μ†Œλ©Έλ˜λŠ” 생λͺ… μ£ΌκΈ°κ°€

pinetree93.tistory.com

2022.07.06 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 15μž₯ let, const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„

 

15μž₯ let, const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„

15.1 var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ˜ 문제점 ES5κΉŒμ§€ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  수 μžˆλŠ” μœ μΌν•œ 방법은 var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€. var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜λŠ” λ…νŠΉν•œ νŠΉμ§•μ΄ μžˆλ‹€. 15.1.1 λ³€μˆ˜ 쀑볡 μ„ μ–Έ ν—ˆμš©

pinetree93.tistory.com

2022.07.08 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 16μž₯ ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈ

 

16μž₯ ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈ

16.1 λ‚΄λΆ€ 슬둯과 λ‚΄λΆ€ λ©”μ„œλ“œ ν”„λ‘œνΌν‹° μ–΄νŠΈλ¦¬λ·°νŠΈλ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € λ‚΄λΆ€ 슬둯과 λ‚΄λΆ€ λ©”μ„œλ“œμ˜ κ°œλ…μ— λŒ€ν•΄ μ•Œκ³  μžˆμ–΄μ•Ό ν•œλ‹€. λ‚΄λΆ€ 슬둯과 λ‚΄λΆ€ λ©”μ„œλ“œλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„μ˜ κ΅¬ν˜„

pinetree93.tistory.com

2022.07.10 - [μ–Έμ–΄ 곡뢀 및 정리/μžλ°”μŠ€ν¬λ¦½νŠΈ[λͺ¨λ˜μžλ°”μŠ€ν¬λ¦½νŠΈ]] - 17μž₯ μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성

 

17μž₯ μƒμ„±μž ν•¨μˆ˜μ— μ˜ν•œ 객체 생성

객체λ₯Ό μƒμ„±ν•˜λŠ” λ°©μ‹μ—λŠ” μ—¬λŸ¬κ°€μ§€κ°€ μžˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ μ•žμ„œ 배운 객체 λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜λŠ” 방법이 μžˆλ‹€. μ΄λ²ˆμ— 곡뢀 ν•  λ‚΄μš©μ€ μƒμ„±μž ν•¨μˆ˜λ₯Ό ν†΅ν•œ 객체 생성이닀. 17.1 Object μƒμ„±μž ν•¨μˆ˜(빌트

pinetree93.tistory.com