Skip to content

Latest commit

Β 

History

History
64 lines (44 loc) Β· 2.13 KB

Class_and_Object.md

File metadata and controls

64 lines (44 loc) Β· 2.13 KB

ν΄λž˜μŠ€μ™€ 객체 (Class and Obejct)

클래슀(Class)

ν΄λž˜μŠ€λž€ 객체λ₯Ό μ •μ˜ν•΄ 놓은 것
객체의 섀계도 λ˜λŠ” 틀이라고 μ •μ˜ κ°€λŠ₯
객체λ₯Ό μƒμ„±ν•˜λŠ”λ° μ‚¬μš©λ˜λ©°, κ°μ²΄λŠ” ν΄λž˜μŠ€μ— μ •μ˜λœ λŒ€λ‘œ 생성 됨

객체(Object)

κ°μ²΄λž€ μ‹€μ œλ‘œ μ‘΄μž¬ν•˜λŠ” 것
눈으둜 λ³Ό 수 μžˆλŠ” ν˜•νƒœκ°€ μžˆλŠ” 것 뿐만 μ•„λ‹ˆλΌ
κ°œλ…μ΄λ‚˜ 논리와 같은 ν˜•νƒœκ°€ μ—†λŠ” 것도 객체둜 간주함

μ†Œν”„νŠΈμ›¨μ–΄ 세계에 κ΅¬ν˜„ν•  λŒ€μƒ
ν΄λž˜μŠ€μ— μ„ μ–Έλœ λͺ¨μ–‘ κ·ΈλŒ€λ‘œ μƒμ„±λœ 싀체

- 클래슀 μ‚¬μš©μ˜ μž₯점
  : 잘 λ§Œλ“€μ–΄μ§„ 클래슀만 μžˆλ‹€λ©΄, λ™μΌν•œ 객체λ₯Ό ν•„μš”ν•  λ•Œλ§ˆλ‹€ μ‰½κ²Œ 생성 κ°€λŠ₯

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

μΈμŠ€ν„΄μŠ€ν™”

객체와 μΈμŠ€ν„΄μŠ€λŠ” 같은 μ˜λ―Έμ΄μ§€λ§Œ,

κ°μ²΄λŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€λ₯Ό λŒ€ν‘œν•˜λŠ” 포괄적인 의미

μΈμŠ€ν„΄μŠ€λŠ” 섀계도λ₯Ό λ°”νƒ•μœΌλ‘œ μ†Œν”„νŠΈμ›¨μ–΄ 세계에 κ΅¬ν˜„λœ ꡬ체적인 싀체
μ–΄λ–€ ν΄λž˜μŠ€λ‘œλΆ€ν„° λ§Œλ“€μ–΄μ§„ 것인지λ₯Ό κ°•μ‘°ν•˜λŠ” 보닀 ꡬ체적인 의미
(μ‹€μ²΄ν™”λœ μΈμŠ€ν„΄μŠ€λŠ” λ©”λͺ¨λ¦¬μ— 할당됨)

ex) 예제

/* 클래슀 */
public class Human {
    ...
}
/* 객체와 μΈμŠ€ν„΄μŠ€ */
public class Main {
    public static void main(String[] args) {
        Human child, adult; // '객체'

        // μΈμŠ€ν„΄μŠ€ν™”
        child = new Human(); // childλŠ” Human 클래슀의 'μΈμŠ€ν„΄μŠ€'(객체λ₯Ό λ©”λͺ¨λ¦¬μ— ν• λ‹Ή)
        adult = new Human();
    }
}

클래슀, 객체, μΈμŠ€ν„΄μŠ€μ˜ 차이

  • 클래슀(Class) VS 객체(Object)

    ν΄λž˜μŠ€λŠ” β€˜μ„€κ³„λ„β€™, κ°μ²΄λŠ” β€˜μ„€κ³„λ„λ‘œ κ΅¬ν˜„ν•œ λͺ¨λ“  λŒ€μƒβ€™

  • 객체(Object) VS μΈμŠ€ν„΄μŠ€(Instance)

    클래슀의 νƒ€μž…μœΌλ‘œ μ„ μ–Έλ˜μ—ˆμ„ λ•Œ 객체, κ·Έ 객체가 λ©”λͺ¨λ¦¬μ— ν• λ‹Ήλ˜μ–΄ μ‹€μ œ μ‚¬μš©λ  λ•Œ μΈμŠ€ν„΄μŠ€

    κ°μ²΄λŠ” ν˜„μ‹€ 세계에 가깝고, μΈμŠ€ν„΄μŠ€λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 세계에 κ°€κΉŒμ›€
    κ°μ²΄λŠ” β€˜μ‹€μ²΄β€™, μΈμŠ€ν„΄μŠ€λŠ” β€˜κ΄€κ³„β€™
    객체λ₯Ό β€˜ν΄λž˜μŠ€μ˜ μΈμŠ€ν„΄μŠ€β€™λΌκ³ λ„ 뢀름