Skip to content

Latest commit

Β 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Β 
Β 
Β 
Β 

README.md

1μž₯ 정리

ν΄λž˜μŠ€κ°€ ν•„μš”ν•œ 이유

μžλ°” 세상은 ν΄λž˜μŠ€μ™€ 객체둜 이루어져 μžˆλ‹€.

ν΄λž˜μŠ€μ— μ •μ˜ν•œ λ³€μˆ˜λ“€μ„ 멀버 λ³€μˆ˜, λ˜λŠ” ν•„λ“œλΌ ν•œλ‹€.

  • 멀버 λ³€μˆ˜(Member Variable): 이 λ³€μˆ˜λ“€μ€ νŠΉμ • ν΄λž˜μŠ€μ— μ†Œμ†λœ 멀버이기 λ•Œλ¬Έμ— μ΄λ ‡κ²Œ λΆ€λ₯Έλ‹€. ex) 학생 μ†Œμ†μ˜ 3κ°€μ§€ λ³€μˆ˜κ°€ μžˆλŠ” 것
  • ν•„λ“œ(Field): 데이터 ν•­λͺ©μ„ κ°€λ¦¬ν‚€λŠ” 전톡적인 μš©μ–΄ (λ°μ΄ν„°λ² μ΄μŠ€, μ—‘μ…€ λ“±μ—μ„œ 데이터 각각의 ν•­λͺ©μ„ ν•„λ“œλΌ ν•œλ‹€)
  • μžλ°”μ—μ„œ 멀버 λ³€μˆ˜, ν•„λ“œλŠ” 같은 λœ»μ΄λ‹€. ν΄λž˜μŠ€μ— μ†Œμ†λœ λ³€μˆ˜λ₯Ό λœ»ν•œλ‹€.

클래슀λͺ…은 관둀상 λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜κ³  **낙타 ν‘œκΈ°λ²•(CamelCase)**을 μ‚¬μš©ν•œλ‹€. 예): Student , User , MemberService

(λ³€μˆ˜λŠ” μ†Œλ¬Έμž ν΄λž˜μŠ€λŠ” λŒ€λ¬Έμž)

ν΄λž˜μŠ€μ™€ μ‚¬μš©μž μ •μ˜ νƒ€μž…

  • νƒ€μž…μ€ λ°μ΄ν„°μ˜ μ’…λ₯˜λ‚˜ ν˜•νƒœλ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
  • int 라고 ν•˜λ©΄ μ •μˆ˜ νƒ€μž…, String 이라고 ν•˜λ©΄ 문자 νƒ€μž…μ΄λ‹€.
  • 학생( Student )μ΄λΌλŠ” νƒ€μž…μ„ λ§Œλ“€λ©΄ λ˜μ§€ μ•Šμ„κΉŒ?
  • 클래슀λ₯Ό μ‚¬μš©ν•˜λ©΄ int , String κ³Ό 같은 νƒ€μž…μ„ 직접 λ§Œλ“€ 수 μžˆλ‹€.
  • μ‚¬μš©μžκ°€ 직접 μ •μ˜ν•˜λŠ” μ‚¬μš©μž μ •μ˜ νƒ€μž…μ„ λ§Œλ“€λ €λ©΄ 섀계도가 ν•„μš”ν•˜λ‹€. 이 섀계도(도면)κ°€ λ°”λ‘œ ν΄λž˜μŠ€μ΄λ‹€. (λΆ•μ–΄λΉ΅ ν‹€)
  • 섀계도인 클래슀λ₯Ό μ‚¬μš©ν•΄μ„œ μ‹€μ œ λ©”λͺ¨λ¦¬μ— λ§Œλ“€μ–΄μ§„ 싀체λ₯Ό 객체 λ˜λŠ” μΈμŠ€ν„΄μŠ€λΌ ν•œλ‹€. (λ”± μ°μ–΄μ„œ λ§Œλ“€μ–΄λ‚Έ κ±°) (λΆ•μ–΄λΉ΅)
  • 클래슀λ₯Ό 톡해 μ‚¬μš©μžκ°€ μ›ν•˜λŠ” μ’…λ₯˜μ˜ 데이터 νƒ€μž…μ„ 마음껏 μ •μ˜ν•  수 μžˆλ‹€.

μš©μ–΄: 클래슀, 객체, μΈμŠ€ν„΄μŠ€

ν΄λž˜μŠ€λŠ” 섀계도이고, 이 섀계도λ₯Ό 기반으둜 μ‹€μ œ λ©”λͺ¨λ¦¬μ— λ§Œλ“€μ–΄μ§„ 싀체λ₯Ό 객체 λ˜λŠ” μΈμŠ€ν„΄μŠ€λΌ ν•œλ‹€. λ‘˜λ‹€ 같은 의미둜 μ‚¬μš©λœλ‹€.

클래슀, 객체, μΈμŠ€ν„΄μŠ€ 정리

클래슀 - Class

ν΄λž˜μŠ€λŠ” 객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ 'ν‹€' λ˜λŠ” '섀계도'이닀. ν΄λž˜μŠ€λŠ” 객체가 κ°€μ Έμ•Ό ν•  속성(λ³€μˆ˜)κ³Ό κΈ°λŠ₯(λ©”μ„œλ“œ)λ₯Ό μ •μ˜ν•œλ‹€. 예λ₯Ό λ“€μ–΄ ν•™μƒμ΄λΌλŠ” ν΄λž˜μŠ€λŠ” μ†μ„±μœΌλ‘œ name , age , grade λ₯Ό κ°€μ§„λ‹€. 참고둜 κΈ°λŠ₯(λ©”μ„œλ“œ)은 λ’€μ—μ„œ μ„€λͺ…ν•œλ‹€. μ§€κΈˆμ€ 속성(λ³€μˆ˜)에 μ§‘μ€‘ν•˜μž

  • ν‹€: λΆ•μ–΄λΉ΅ 틀을 μƒκ°ν•΄λ³΄μž. λΆ•μ–΄λΉ΅ 틀은 뢕어빡이 μ•„λ‹ˆλ‹€! μ΄λ ‡κ²Œ 생긴 뢕어빡이 λ‚˜μ™”μœΌλ©΄ μ’‹κ² λ‹€κ³  λ§Œλ“œλŠ” 틀일 뿐이닀. μ‹€μ œ 먹을 수 μžˆλŠ” 것이 μ•„λ‹ˆλ‹€. μ‹€μ œ 먹을 수 μžˆλŠ” νŒ₯ 뢕어빡을 객체 λ˜λŠ” μΈμŠ€ν„΄μŠ€λΌ ν•œλ‹€.
  • 섀계도: μžλ™μ°¨ 섀계도λ₯Ό μƒκ°ν•΄λ³΄μž. μžλ™μ°¨ μ„€κ³„λ„λŠ” μžλ™μ°¨κ°€ μ•„λ‹ˆλ‹€! μ„€κ³„λ„λŠ” μ‹€μ œ μ‘΄μž¬ν•˜λŠ” 것이 μ•„λ‹ˆλΌ κ°œλ…μœΌλ‘œλ§Œ μžˆλŠ” 것이닀. 섀계도λ₯Ό 톡해 μƒμ‚°ν•œ μ‹€μ œ μ‘΄μž¬ν•˜λŠ” 흰색 ν…ŒμŠ¬λΌ λͺ¨λΈ Y μžλ™μ°¨λ₯Ό 객체 λ˜λŠ” μΈμŠ€ν„΄μŠ€λΌ ν•œλ‹€.

객체 - Object

κ°μ²΄λŠ” ν΄λž˜μŠ€μ—μ„œ μ •μ˜ν•œ 속성과 κΈ°λŠ₯을 κ°€μ§„ 싀체이닀. κ°μ²΄λŠ” μ„œλ‘œ 독립적인 μƒνƒœλ₯Ό κ°€μ§„λ‹€. 예λ₯Ό λ“€μ–΄ μœ„ μ½”λ“œμ—μ„œ student1 은 학생1의 속성을 κ°€μ§€λŠ” 객체이고, student2 λŠ” 학생2의 속성을 κ°€μ§€λŠ” 객체이닀. student1 κ³Ό student2 λŠ” 같은 ν΄λž˜μŠ€μ—μ„œ λ§Œλ“€μ–΄μ‘Œμ§€λ§Œ, μ„œλ‘œ λ‹€λ₯Έ 객체이닀.

μΈμŠ€ν„΄μŠ€ - Instance

μΈμŠ€ν„΄μŠ€λŠ” νŠΉμ • ν΄λž˜μŠ€λ‘œλΆ€ν„° μƒμ„±λœ 객체λ₯Ό μ˜λ―Έν•œλ‹€. κ·Έλž˜μ„œ 객체와 μΈμŠ€ν„΄μŠ€λΌλŠ” μš©μ–΄λŠ” 자주 ν˜Όμš©λœλ‹€. μΈμŠ€ν„΄μŠ€λŠ” 주둜 객체가 μ–΄λ–€ ν΄λž˜μŠ€μ— 속해 μžˆλŠ”μ§€ κ°•μ‘°ν•  λ•Œ μ‚¬μš©ν•œλ‹€. 예λ₯Ό λ“€μ–΄μ„œ student1 κ°μ²΄λŠ” Student 클래슀의 μΈμŠ€ν„΄μŠ€λ‹€. 라고 ν‘œν˜„ν•œλ‹€.

객체 vs μΈμŠ€ν„΄μŠ€

λ‘˜λ‹€ ν΄λž˜μŠ€μ—μ„œ λ‚˜μ˜¨ μ‹€μ²΄λΌλŠ” μ˜λ―Έμ—μ„œ λΉ„μŠ·ν•˜κ²Œ μ‚¬μš©λ˜μ§€λ§Œ, μš©μ–΄μƒ μΈμŠ€ν„΄μŠ€λŠ” 객체보닀 μ’€ 더 관계에 μ΄ˆμ μ„ 맞좘 단어이닀. 보톡 student1 은 Student 의 객체이닀. 라고 λ§ν•˜λŠ” λŒ€μ‹  student1 은 Student 의 μΈμŠ€ν„΄μŠ€μ΄λ‹€. 라고 νŠΉμ • ν΄λž˜μŠ€μ™€μ˜ 관계λ₯Ό λͺ…ν™•νžˆ ν•  λ•Œ μΈμŠ€ν„΄μŠ€λΌλŠ” μš©μ–΄λ₯Ό 주둜 μ‚¬μš©ν•œλ‹€.

μ’€ 더 μ‰½κ²Œ ν’€μ–΄λ³΄μžλ©΄, λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” κ°μ²΄μ΄μ§€λ§Œ, μš°λ¦¬κ°€ μΈμŠ€ν„΄μŠ€λΌκ³  λΆ€λ₯΄λŠ” μˆœκ°„μ€ νŠΉμ • ν΄λž˜μŠ€λ‘œλΆ€ν„° κ·Έ 객체가 μƒμ„±λ˜μ—ˆμŒμ„ κ°•μ‘°ν•˜κ³  싢을 λ•Œμ΄λ‹€. 예λ₯Ό λ“€μ–΄ student1 은 κ°μ²΄μ΄μ§€λ§Œ, 이 객체가 Student ν΄λž˜μŠ€λ‘œλΆ€ν„° μƒμ„±λ˜λ‹€λŠ” 점을 λͺ…ν™•νžˆ ν•˜κΈ° μœ„ν•΄ student1 을 Student 의 μΈμŠ€ν„΄μŠ€λΌκ³  λΆ€λ₯Έλ‹€.

ν•˜μ§€λ§Œ λ‘˜λ‹€ ν΄λž˜μŠ€μ—μ„œ λ‚˜μ˜¨ μ‹€μ²΄λΌλŠ” 핡심 μ˜λ―ΈλŠ” κ°™κΈ° λ•Œλ¬Έμ— 보톡 λ‘˜μ„ κ΅¬λΆ„ν•˜μ§€ μ•Šκ³  μ‚¬μš©ν•œλ‹€.