λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ–₯️ λ°±μ—”λ“œ/Java

[ch.6] 객체지ν–₯μ–Έμ–΄

by OR15A 2023. 11. 11.

객체지ν–₯μ–Έμ–΄ μ£Όμš” νŠΉμ§•

  • μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ΄ λ†’λ‹€.
    • μƒˆλ‘œμš΄ μ½”λ“œ μž‘μ„± μ‹œ κΈ°μ‘΄ μ½”λ“œ 이용
  • μ½”λ“œμ˜ 관리가 μš©μ΄ν•˜λ‹€.
    • μ½”λ“œ κ°„μ˜ 관계λ₯Ό μ΄μš©ν•΄ μ‰½κ²Œ μ½”λ“œ λ³€κ²½
  • μ‹ λ’°μ„± 높은 ν”„λ‘œκ·Έλž˜λ°μ„ κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.
    • μ œμ–΄μž,λ©”μ„œλ“œ: 데이터 보호 및 μ˜¬λ°”λ₯Έ κ°’ μœ μ§€,
    • μ½”λ“œμ˜ μ€‘λ³΅μ œκ±°: 뢈일치둜 μΈν•œ μ˜€μž‘λ™ 방지함

 

클래슀
  • 섀계도. 객체λ₯Ό μ •μ˜ν•΄ 놓은 것
  • 객체λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ ν…œν”Œλ¦Ώ

 

객체
  • 클래슀의 μΈμŠ€ν„΄μŠ€, ν΄λž˜μŠ€λ‘œλΆ€ν„° μƒμ„±λœ 것
  • iv 묢음. λ©”μ„œλ“œλŠ” 포함X
  • 속성: λ©€λ²„λ³€μˆ˜, νŠΉμ„± ν•„λ“œ, μƒνƒœ
    κΈ°λŠ₯: λ©”μ„œλ“œ, ν•¨μˆ˜, κΈ°λŠ₯, ν–‰μœ„

 

“ν΄λž˜μŠ€λ‘œλΆ€ν„° 객체λ₯Ό μƒμ„±ν•œλ‹€”
  • ν΄λž˜μŠ€μ— μ •μ˜λœ 속성과 κΈ°λŠ₯을 가진 κ°μ²΄μƒμ„±ν•˜λŠ” 것



μ„ μ–Έμœ„μΉ˜μ— λ”°λ₯Έ λ³€μˆ˜ 3가지

μΈμŠ€ν„΄μŠ€λ³€μˆ˜
  • 객체 μƒμ„±μ‹œμ—λ§Œ μ‚¬μš© κ°€λŠ₯함. λ©€λ²„λ³€μˆ˜.
  • 독립적인 μ €μž₯곡간을 κ°€μ Έμ„œ μ„œλ‘œ λ‹€λ₯Έ μ£Όμ†Œκ°’μ„ κ°€μ§ˆ 수 있음.
  • μ°Έμ‘°λ³€μˆ˜ . μΈμŠ€ν„΄μŠ€λ³€μˆ˜ ν˜•νƒœλ‘œ μ‚¬μš©ν•¨.

 

ν΄λž˜μŠ€λ³€μˆ˜
  • staticλ³€μˆ˜. 객체 생성 없이도 μ‚¬μš©κ°€λŠ₯함.
  • λͺ¨λ“  ν΄λž˜μŠ€κ°€ κ³΅μœ ν•˜λŠ” κ³΅ν†΅λœ λ³€μˆ˜. λ©€λ²„λ³€μˆ˜.
  • ν΄λž˜μŠ€μ΄λ¦„ . ν΄λž˜μŠ€λ³€μˆ˜ ν˜•νƒœλ‘œ μ‚¬μš©ν•¨.

 

μ§€μ—­λ³€μˆ˜
  • λ©”μ„œλ“œ μ˜μ—­ λ‚΄μ—μ„œλ§Œ μœ νš¨ν•œ λ³€μˆ˜.
  • μžλ™μ΄ˆκΈ°ν™”X λ°˜λ“œμ‹œ μ΄ˆκΈ°ν™” ν›„ μ‚¬μš©ν•¨.
  • μΈμŠ€ν„΄μŠ€λ³€μˆ˜λŠ” μΈμŠ€ν„΄μŠ€κ°€ 생성될 λ•Œλ§ˆλ‹€ 각기 λ‹€λ₯Έκ°’ μœ μ§€ν•  수 μžˆμ§€λ§Œ, ν΄λž˜μŠ€λ³€μˆ˜λŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ ν•˜λ‚˜μ˜ μ €μž₯곡간을 κ³΅μœ ν•˜λ―€λ‘œ 항상 κ³΅ν†΅λœ κ°’.



객체배열
  • 객체λ₯Ό λ°°μ—΄λ‘œ λ‹€λ£¨λŠ” 것
  • νŠΉμ •νƒ€μž…μ˜ 배열을 μƒμ„±ν•˜κ³ , κ°μ²΄λ°°μ—΄μ˜ 각 μš”μ†Œμ— 객체λ₯Ό μ €μž₯함. 객체배열은 생성 ν›„ μžλ™μ΄ˆκΈ°ν™” λ˜μ§€ μ•ŠμœΌλ―€λ‘œ 반볡문 등을 μ΄μš©ν•΄μ„œ λ°°μ—΄ μ•ˆμ— 객체λ₯Ό μƒμ„±ν•΄μ€˜μ•Ό 함.
    객체 λ°°μ—΄

 

JVM λ©”λͺ¨λ¦¬ ꡬ쑰
  • λ©”μ„œλ“œ μ˜μ—­ Method Area
    • ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑 μ‚¬μš©λ˜λŠ” ν΄λž˜μŠ€μ— λŒ€ν•œ 정보 μ €μž₯
    • 클래슀 정보와 클래슀 λ³€μˆ˜κ°€ μ €μž₯λ˜λŠ” κ³³
    • GCκ°€ 일함
  • 호좜 μŠ€νƒ Call Stack
    • λ©”μ„œλ“œμ˜ μž‘μ—…κ³΅κ°„
    • λ©”μ„œλ“œκ°€ 호좜되면 λ©”μ„œλ“œ μˆ˜ν–‰μ— ν•„μš”ν•œ λ©”λͺ¨λ¦¬ 곡간을 ν• λ‹Ήλ°›κ³  λ©”μ„œλ“œκ°€ μ’…λ£Œλ˜λ©΄ μ‚¬μš©ν•˜λ˜ λ©”λͺ¨λ¦¬λ₯Ό λ°˜ν™˜ν•œλ‹€.
  • νž™ Heap
    • μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜λŠ” 곡간
    • new μ—°μ‚°μžμ— μ˜ν•΄μ„œ μƒμ„±λ˜λŠ” λ°°μ—΄κ³Ό κ°μ²΄λŠ” λͺ¨λ‘ 여기에 생성됨
    • GCκ°€ 일함

JVM λ©”λͺ¨λ¦¬ ꡬ쑰



λ©”μ„œλ“œ

λ©”μ„œλ“œ
  • νŠΉμ • μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 일련의 λ¬Έμž₯듀을 ν•˜λ‚˜λ‘œ 묢은 것
  • μ‚¬μš©μ΄μœ 
    • 높은 μž¬μ‚¬μš©μ„±
    • μ€‘λ³΅μ½”λ“œ 제거
    • ν”„λ‘œκ·Έλž¨μ˜ ꡬ쑰화
    • λ©”μ„œλ“œλ₯Ό μ •μ˜ν•œλ‹€”= μ„ μ–ΈλΆ€μž‘μ„± + κ΅¬ν˜„λΆ€μž‘μ„±
μ œμ–΄μž  λ°˜ν™˜νƒ€μž…  λ©”μ„œλ“œμ΄λ¦„ (λ§€κ°œλ³€μˆ˜) {
       /* λ©”μ„œλ“œ 호좜 μ‹œ μˆ˜ν–‰ν•˜λŠ” λ¬Έμž₯*/
       return 리턴값 ;
}
  • λ§€κ°œλ³€μˆ˜μ˜ λ‹€λ₯Έ 이름
    • μ§€μ—­λ³€μˆ˜, 인자, 인수
  • λ§€κ°œλ³€μˆ˜μ˜ ν˜•νƒœ: ( )κ΄„ν˜Έ μ•ˆμ— νƒ€μž… + μž„μ‹œλͺ…μΉ­
  • returnλ¬Έ
    • λ©”μ„œλ“œμ˜ λ°˜ν™˜νƒ€μž…μ΄ voidκ°€ μ•„λ‹Œ 경우 κ΅¬ν˜„λΆ€ { }κ΄„ν˜Έ μ•ˆμ— return λ°˜ν™˜κ°’μ΄ λ°˜λ“œμ‹œ ν¬ν•¨λ˜μ–΄μ•Όν•¨.
    • 이 κ°’μ˜ νƒ€μž…μ€ λ°˜ν™˜νƒ€μž…κ³Ό μΌμΉ˜ν•˜κ±°λ‚˜ 적어도 μžλ™ν˜•λ³€ν™˜μ΄ κ°€λŠ₯해야함. 단 ν•˜λ‚˜μ˜κ°’λ§Œ λ°˜ν™˜.
  • t/fλ₯Ό λ°˜ν™˜ν•˜λŠ” 쑰건문의 경우 항상 결과값이 λ°˜ν™˜λ˜λ„λ‘ 함.
  • λ§€κ°œλ³€μˆ˜
    • νƒ€μž…λ§Œ 맞으면 μ–΄λ–€ 값도 λ§€κ°œλ³€μˆ˜λ₯Ό 톡해 λ„˜μ–΄μ˜¬ 수 있기 λ•Œλ¬Έμ—, κ°€λŠ₯ν•œ λͺ¨λ“  경우의 μˆ˜μ— λŒ€λΉ„ν•΄μ•Όν•¨.
    • λ§€κ°œλ³€μˆ˜μ˜ μœ νš¨μ„± 검사 κΌ­ν•˜κΈ°.
  • λ§€κ°œλ³€μˆ˜μ˜ ν•„μš”μ„±
    • μ›λž˜ μžˆμ–΄μ•Ό ν–ˆλ˜ 값인데 μ€‘λ³΅μ œκ±°λ₯Ό μœ„ν•΄ λ–Όμ–΄λƒˆκΈ° λ•Œλ¬Έμ— μ „λ‹¬ν•΄μ€˜μ•Όν•¨.
  • λ°˜ν™˜νƒ€μž…
    • λ°˜ν™˜νƒ€μž…μ΄ 객체의 νƒ€μž…(μ°Έμ‘°ν˜•)이면 λ©”μ„œλ“œλŠ”‘ν•΄λ‹Ή 객체λ₯Ό μ°Έμ‘°ν•˜μ—¬ λ°˜ν™˜.’

 

λ©”μ„œλ“œμ˜ 호좜
  • 같은 클래슀 μ•ˆμ—μ„œ λ©”μ„œλ“œλΌλ¦¬λŠ” μ°Έμ‘°λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ μ„œλ‘œ 호좜이 κ°€λŠ₯함.
  • static λ©”μ„œλ“œλŠ” 같은 클래슀 λ‚΄μ—μ„œ (객체 생성 ν›„ μ‚¬μš© κ°€λŠ₯ν•œ) μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•  수 μ—†μŒ.
  • κΈ°λ³Έν˜• λ§€κ°œλ³€μˆ˜
    • λ³€μˆ˜μ˜ 값을 읽기만 κ°€λŠ₯.
    • λ§€κ°œλ³€μˆ˜ν˜•νƒœ: ( int x )
  • μ°Έμ‘°ν˜• λ§€κ°œλ³€μˆ˜
    • λ³€μˆ˜μ˜ 값을 읽고, λ³€κ²½ κ°€λŠ₯.
    • λ§€κ°œλ³€μˆ˜ν˜•νƒœ: ( Data a )

 

μ°Έμ‘°ν˜• λ°˜ν™˜νƒ€μž…
  • λͺ¨λ“  μ°Έμ‘°ν˜• νƒ€μž…μ˜ 값은 ‘객체의 μ£Όμ†Œ’μž„.
  • "λ©”μ„œλ“œμ˜ λ°˜ν™˜νƒ€μž…μ΄ μ°Έμ‘°ν˜•”= λ©”μ„œλ“œκ°€ 객체의 μ£Όμ†Œλ₯Ό λ°˜ν™˜ν•¨.
  • static Data copy (Data d) { Data tmp = new Data( ) ; tmp.x = d.x ; return tmp; //tmpλŠ” 객체의 μ£Όμ†Œ. 호좜결과λ₯Ό μ €μž₯ν•˜λŠ” λ³€μˆ˜μ˜ νƒ€μž…μ—­μ‹œ Data의 μ°Έμ‘°λ³€μˆ˜μ—¬μ•Όν•¨. }

 

ν΄λž˜μŠ€λ©”μ„œλ“œ/μΈμŠ€ν„΄μŠ€λ©”μ„œλ“œ (ivμ‚¬μš©μ—¬λΆ€)
  • ν΄λž˜μŠ€λ©”μ„œλ“œ(staticλ©”μ„œλ“œ)
    • 객체생성없이 ‘ν΄λž˜μŠ€μ΄λ¦„.λ©”μ„œλ“œμ΄λ¦„( )’으둜 호좜
    • μΈμŠ€ν„΄μŠ€λ©€λ²„(iv,im)와 κ΄€λ ¨μ—†λŠ” μž‘μ—…μ„ν•˜λŠ” λ©”μ„œλ“œ
    • λ©”μ„œλ“œ λ‚΄μ—μ„œ iv μ‚¬μš©λΆˆκ°€(객체 생성 μ—¬λΆ€ λͺ¨λ₯΄λ―€λ‘œ)
  • μΈμŠ€ν„΄μŠ€λ©”μ„œλ“œ
    • μΈμŠ€ν„΄μŠ€ 생성후 ‘μ°Έμ‘°λ³€μˆ˜.λ©”μ„œλ“œμ΄λ¦„( )’으둜 호좜
    • μΈμŠ€ν„΄μŠ€ 멀버(iv,im)와 κ΄€λ ¨λœ μž‘μ—…μ„ ν•˜λŠ” λ©”μ„œλ“œ
    • λ©”μ„œλ“œ λ‚΄μ—μ„œ iv μ‚¬μš© κ°€λŠ₯함

(+)

  • static λ³€μˆ˜
    • λ©€λ²„λ³€μˆ˜ 쀑 κ³΅ν†΅λœ 값을 μœ μ§€ν•  ν•„μš”κ°€ μžˆμ„ λ•Œ static을 뢙인닀.
    • 예: μΉ΄λ“œ κ°μ²΄μ—μ„œ 폭과 길이 κ°™κ²Œ.
  • static λ©”μ„œλ“œ
    • μΈμŠ€ν„΄μŠ€λ©€λ²„(iv, im)λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ static을 뢙인닀.
    • λ°˜λ“œμ‹œ κ·Έλž˜μ•Όλ§Œ ν•˜λŠ” 건 μ•„λ‹ˆμ§€λ§Œ νŠΉλ³„ν•œ 이유 μ—†λŠ”ν•œ 뢙이기.

 

μž¬κ·€ν˜ΈμΆœ
  • λ©”μ„œλ“œ λ‚΄λΆ€μ—μ„œ λ©”μ„œλ“œ μžμ‹ μ„ λ‹€μ‹œ ν˜ΈμΆœν•˜λŠ” 것(반볡이 됨)
  • μž¬κ·€ν˜ΈμΆœμ€ 반볡문으둜 λ°”κΏ€ 수 있으며 λ°˜λ³΅λ³΄λ‹€ μ„±λŠ₯이 λ‚˜μ¨
  • μ΄ν•΄ν•˜κΈ° 쉽고 κ°„κ²°ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 있음.
  • μ˜ˆμ‹œ: νŒ©ν† λ¦¬μ–Ό, 제곱, νŠΈλ¦¬μš΄ν–‰, 폴더λͺ©λ‘ν‘œμ‹œ λ“±

 

κ°€λ³€μΈμž
  • JDK1.5λΆ€ν„° 생김. λ§€κ°œλ³€μˆ˜ 개수λ₯Ό κ³ μ •X, 동적 지정 κ°€λŠ₯
  • μ˜ˆμ‹œ: public PrintStream printf(String f, Object ... args) { ... }
  • λ§€κ°œλ³€μˆ˜ μ€‘μ—μ„œ 제일 λ§ˆμ§€λ§‰μ— μ„ μ–Έν•˜λ©΄ μ’‹μŒ.
  • ‘νƒ€μž… ... λ³€μˆ˜λͺ…’의 ν˜•μ‹μœΌλ‘œ μ„ μ–Έν•  것
  • κ°€λ³€μΈμžλŠ” λ‚΄λΆ€μ μœΌλ‘œ 배열을 μ΄μš©ν•˜λŠ” κ²ƒμž„

 

μ˜€λ²„λ‘œλ”©
  • ν•œ 클래슀 λ‚΄μ—μ„œ 같은 이름(같은 κΈ°λŠ₯)의 λ©”μ„œλ“œλ₯Ό μ—¬λŸ¬ 개 μ •μ˜ν•˜λŠ” 것.
  • ν•˜λ‚˜μ˜ λ©”μ„œλ“œ μ΄λ¦„μœΌλ‘œ μ—¬λŸ¬ κΈ°λŠ₯을 κ΅¬ν˜„ν•¨.
  • ν•„μš”μ‘°κ±΄
    • β‘ λ©”μ„œλ“œ 이름이 같아야함
    • β‘‘λ§€κ°œλ³€μˆ˜μ˜ 개수 or νƒ€μž…μ΄ 달라야함
    • β‘’λ°˜ν™˜νƒ€μž…μ„ 영ν–₯μ—†μŒ
  • μ˜ˆμ‹œ: println( ), println(int x), println(char a)



μƒμ„±μž

μƒμ„±μž
  • μΈμŠ€ν„΄μŠ€κ°€ 생성될 λ•Œ ν˜ΈμΆœλ˜λŠ” μΈμŠ€ν„΄μŠ€ μ΄ˆκΈ°ν™” λ©”μ„œλ“œ’(μΈμŠ€ν„΄μŠ€κ°€ 생성은 μ—°μ‚°μž new의 μ—­ν• )
  • μƒμ„±μžμ˜ 이름은 클래슀 이름과 κ°™μŒ.
  • λͺ¨λ“  ν΄λž˜μŠ€μ—λŠ” λ°˜λ“œμ‹œ 1개 μ΄μƒμ˜ μƒμ„±μžκ°€ μžˆμ–΄μ•Όν•¨. 1κ°œλ„ 없을 λ•Œ 만 μ»΄νŒŒμΌλŸ¬κ°€ κΈ°λ³Έμƒμ„±μžλ₯Ό μΆ”κ°€ν•΄μ€Œ.
  • μƒμ„±μžμ—μ„œ λ‹€λ₯Έ μƒμ„±μžλ₯Ό ν˜ΈμΆœν•  λ•ŒλŠ” λ°˜λ“œμ‹œ μ²«μ€„μ—μ„œ ν˜ΈμΆœν•΄μ•Ό 함.
  • μƒμ„±μžλ„ μ˜€λ²„λ‘œλ”© κ°€λŠ₯함. (κΈ°λ³Έμƒμ„±μž, λ§€κ°œλ³€μˆ˜κ°€ μžˆλŠ” μƒμ„±μž)

 

λ§€κ°œλ³€μˆ˜κ°€ μžˆλŠ” μƒμ„±μž
  • λ§€κ°œλ³€μˆ˜κ°€ μžˆλŠ” μƒμ„±μžλ₯Ό μ‚¬μš©ν•˜λ©΄ μΈμŠ€ν„΄μŠ€ 생성후 λ°”λ‘œ μ›ν•˜λŠ” κ°’μœΌλ‘œ μ΄ˆκΈ°ν™”ν•  수 있음

 

κΈ°λ³Έμƒμ„±μž
  • ν΄λž˜μŠ€μ΄λ¦„( ){ } : λ§€κ°œλ³€μˆ˜, κ΅¬ν˜„λΆ€ λΉ„μ–΄μžˆμŒ.
  • μΈμŠ€ν„΄μŠ€λ³€μˆ˜μ˜ κΈ°λ³Έκ°’μœΌλ‘œ μžλ™μ΄ˆκΈ°ν™”λ¨

JVM λ©”λͺ¨λ¦¬ ꡬ쑰

 

μƒμ„±μžλ₯Ό μ΄μš©ν•œ μΈμŠ€ν„΄μŠ€ 볡사
  • ν˜„μž¬ μ‚¬μš©ν•˜κ³  μžˆλŠ” μΈμŠ€ν„΄μŠ€μ™€ 같은 μƒνƒœλ₯Ό κ°–λŠ” μΈμŠ€ν„΄μŠ€λ₯Ό ν•˜λ‚˜ 더 λ§Œλ“€κ³ μž ν•  λ•Œ μƒμ„±μžλ₯Ό μ΄μš©ν•  수 있음.
  • 두 μΈμŠ€ν„΄μŠ€κ°€ 같은 μƒνƒœλ₯Ό 가짐 = 두 μΈμŠ€ν„΄μŠ€μ˜ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜κ°€ λ™μΌν•œ 값을 가짐.
  • μƒμ„±μžμ˜ λ§€κ°œλ³€μˆ˜λ‘œ μžμ‹ μ˜ νƒ€μž…μ˜ λ‹€λ₯Έ μΈμŠ€ν„΄μŠ€μ˜ μ£Όμ†Œλ₯Ό λ°›μ•„μ„œ 을 λ„£μŒ=λ³΅μ œν•˜κ² λ‹€λŠ” 뜻.
  • Car ( Car c ) { color = c.color; gearType = c.gearType door = .door }

 

μΈμŠ€ν„΄μŠ€ 생성 μ‹œ 고렀사항
  • 클래슀: μ–΄λ–€ 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν• κΉŒ?
  • μƒμ„±μž: μ„ νƒν•œ 클래슀의 μ–΄λ–€ μƒμ„±μžλ‘œ μΈμŠ€ν„΄μŠ€ μƒμ„±ν• κΉŒ?

 

λ³€μˆ˜μ˜ μ΄ˆκΈ°ν™”
  • λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  처음으둜 값을 μ €μž₯ν•˜λŠ” 것.
  • λ©€λ²„λ³€μˆ˜: λ³€μˆ˜μ˜ μžλ£Œν˜•μ— λ§žλŠ” κΈ°λ³Έκ°’μœΌλ‘œ μ΄ˆκΈ°ν™”κ°€ μžλ™μ μœΌλ‘œ 이루어짐.
  • μ§€μ—­λ³€μˆ˜: λ©”μ„œλ“œ μ•ˆμ—μ„œ μ‚¬μš©ν•˜κΈ° 전에 λ°˜λ“œμ‹œ μ΄ˆκΈ°ν™” 해야함.

 

μžλ™μ΄ˆκΈ°ν™”μ˜ κΈ°λ³Έκ°’
  • boolean : false
  • char : \u0000
  • byte, short, int : 0
  • long : 0L
  • float : 0.0f
  • double : 0.0 or 0.0d
  • μ°Έμ‘°ν˜•λ³€μˆ˜ : null

 

μ΄ˆκΈ°ν™” 3가지 방법
  • μžλ™μ΄ˆκΈ°ν™”
    • ν΄λž˜μŠ€κ°€ λ©”λͺ¨λ¦¬μ— 올라갈 λ•Œ κΈ°λ³Έκ°’μœΌλ‘œ μ΄ˆκΈ°ν™”λ¨.
  • λͺ…μ‹œμ  μ΄ˆκΈ°ν™”
    • λ³€μˆ˜ μ„ μ–Έ μ‹œ = μ—°μ‚°μžλ‘œ 값을 λŒ€μž…ν•¨.
  • μ΄ˆκΈ°ν™”λΈ”λŸ­
    • 블둝을 μ΄μš©ν•΄ μ΄ˆκΈ°ν™”ν•¨. cv, ivλ‘˜λ‹€ μ‚¬μš©ν•˜μ§€λ§Œ 주둜 cvκ°€ μ‚¬μš©ν•¨.
  • μƒμ„±μž μ΄ˆκΈ°ν™”
    • μƒμ„±μž λ©”μ„œλ“œλ₯Ό μ΄μš©ν•œ μ΄ˆκΈ°ν™” λ°©λ²•μž„. iv만 κ°€λŠ₯함.