πŸ’» 곡뢀 기둝/β˜• Java

Java | 클래슀(Class)

MVMT 2023. 1. 6. 17:24

λ¬Έμžμ—΄μ„ κ³΅λΆ€ν•˜κ³  λ‚œ μ΄ν›„λ‘œ

λ°°μ› λ˜ 파이썬과 λΉ„μŠ·ν•˜λ©΄μ„œλ„ λ‹€λ₯Έ λŠλ‚Œμ„ 받을 수 μžˆμ—ˆλ‹€.

μ•žμœΌλ‘œ 계속 배우게 될 λ‚΄μš© λŒ€λΆ€λΆ„ λΉ„μŠ·ν•˜λ‹€.

 

(λŒ€μΆ© μž¬λ―Έκ°€ 없이지기 μ‹œμž‘ν–ˆλ‹€λŠ” μ†Œλ¦¬..)

 

관심이 λŒλ¦¬λŠ” 단원 μœ„μ£Όλ‘œ ν₯λ―Έλ₯Ό μ΅œλŒ€ν•œ λΆ™μ—¬λ³΄μž.

 


 

[좜처 : μ ν”„ 투 μžλ°”]

 

클래슀(Class)

객체에 λŒ€ν•˜μ—¬

class Animal {
}

μœ„ μ½”λ“œλŠ” 클래슀의 κ°€μž₯ κ°„λ‹¨ν•œ κΈ°λ³Έ ν˜•νƒœμ΄λ‹€.

μ„ μ–Έλ§Œ λ˜μ–΄μžˆμœΌλ©°, λ‚΄μš©μ΄ μ—†λŠ” 빈 껍데기 μƒνƒœμ΄λ‹€.

이 μ½”λ“œμ˜ μ‘΄μž¬λ§ŒμœΌλ‘œλ„ μ•„μ£Ό μ€‘μš”ν•œ κΈ°λŠ₯을 가지고 μžˆλ‹€.

λ°”λ‘œ 객체 생성이닀.

 

public class Sample {
    public static void main(String[] args) {
        Animal cat = new Animal(); // cat = 객체
    }
}

μœ„ 보기와 같이 new λŠ” 객체λ₯Ό 생성할 λ•Œ μ‚¬μš©ν•˜λŠ” ν‚€μ›Œλ“œμ΄λ‹€.

μ‹€ν–‰ν•  경우 Animal 클래슀의 μΈμŠ€ν„΄μŠ€(instance)인 cat, 즉 Animal의 객체가 λ§Œλ“€μ–΄μ§„λ‹€.

 

😢‍🌫️ 객체와 μΈμŠ€ν„΄μŠ€μ˜ 차이점

ν΄λž˜μŠ€μ— μ˜ν•΄μ„œ λ§Œλ“€μ–΄μ§„ 객체λ₯Ό μΈμŠ€ν„΄μŠ€λΌκ³ λ„ ν•œλ‹€.
μΈμŠ€ν„΄μŠ€λΌλŠ” 말은 νŠΉμ • 개체(cat)κ°€ μ–΄λ–€ 클래슀(Animal)의 객체인지λ₯Ό κ΄€κ³„μœ„μ£Όλ‘œ μ„€λͺ…ν•  λ•Œ μ‚¬μš©λœλ‹€.

 

클래슀λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λŒ€ν‘œμ μΈ 예

κ³Όμžν‹€ > 클래슀(Class)

κ³Όμžν‹€μ— μ˜ν•΄μ„œ λ§Œλ“€μ–΄μ§„ κ³Όμžλ“€ > 객체(Object)

 

객체 λ³€μˆ˜(instance variable)

class Animal {
    String name; // name = κ°μ²΄λ³€μˆ˜
}

Animal ν΄λž˜μŠ€μ— name μ΄λΌλŠ” String λ³€μˆ˜λ₯Ό μΆ”κ°€ν•¨μœΌλ‘œ μ„ μ–Έλœ λ³€μˆ˜λ₯Ό 객체 λ³€μˆ˜λΌκ³  ν•œλ‹€.

μ‰½κ²Œ 말해 ν΄λž˜μŠ€μ— μƒμ„±λ˜λŠ” 것은 객체, 그리고 κ·Έ ν΄λž˜μŠ€μ— μ„ μ–Έλœ λ³€μˆ˜λŠ” 객체 λ³€μˆ˜λΌκ³  μƒκ°ν•˜μž.

 

 

λ©”μ†Œλ“œ(Method)

클래슀 내에 κ΅¬ν˜„λœ ν•¨μˆ˜λ₯Ό μ˜λ―Έν•˜λŠ”λ° 보톡 ν•¨μˆ˜λΌκ³  λ§ν•˜μ§€ μ•Šκ³  λ©”μ†Œλ“œλΌκ³  ν•œλ‹€.

(νŒŒμ΄μ¬μ—μ„œλŠ” ν•¨μˆ˜κ°€ 더 μ°©μ°© κ°κΈ°λŠ”λŽ…..)

Animal ν΄λž˜μŠ€μ— μΆ”κ°€λœ setName λ©”μ†Œλ“œ ν˜•νƒœ

class Animal {
    String name;

    public void setName(String name) {
        this.name = name;
        
//  public [void(=리턴값 μ—†μŒ)] setName[(μž…λ ₯)] {
//      this.name = name;
    }
}

μΆ”κ°€ν•œ λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜λŠ” 방법

cat.setName("boby");
// 객체.λ©”μ†Œλ“œ("인수");
// 인수 : λ©”μ†Œλ“œ λ§€κ°œλ³€μˆ˜ μœ λ¬΄μ— λ”°λ₯Έ κ°’μž…λ ₯

 

 

객체 λ³€μˆ˜λŠ” κ³΅μœ λ˜μ§€ μ•ŠλŠ”λ‹€

점프 투 μžλ°”μ—μ„œ κ±°λ“­ μ€‘μš”ν•˜λ‹€κ³  μ–ΈκΈ‰ν•˜λŠ” 뢀뢄이닀.

클래슀의 κ°€μž₯ μ€‘μš”ν•œ 뢀뢄은 κ°μ²΄λ³€μˆ˜μ˜ 값이 λ…λ¦½μ μœΌλ‘œ μœ μ§€λœλ‹€λŠ” 점

public class Sample {
    public static void main(String[] args) {
        Animal cat = new Animal();
        cat.setName("boby");  // λ©”μ†Œλ“œ 호좜

        Animal dog = new Animal();
        dog.setName("happy");

        System.out.println(cat.name); // boby
        System.out.println(dog.name); // happy
    }
}