λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⭐ Personal_Study/Java

λ©”μ„œλ“œμ™€ ν•¨μˆ˜ 기초

by ν¬μŠ€νŠΈμ‰μ΄ν¬ 2022. 12. 9.

λ³€μˆ˜ & λ©”μ„œλ“œ

λ³€μˆ˜

클래슀 λ³€μˆ˜(class variable)

  • 클래슀 μ˜μ—­ μ„ μ–Έ(static ν‚€μ›Œλ“œ)
  • μƒμ„±μ‹œκΈ°: ν΄λž˜μŠ€κ°€ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°”μ„ λ•Œ
  • λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ 곡유

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(Instance variable)

  • 클래슀 μ˜μ—­ μ„ μ–Έ
  • μƒμ„±μ‹œκΈ°: μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜μ—ˆμ„ λ•Œ (new)
  • μΈμŠ€ν„΄μŠ€ λ³„λ‘œ 생성

μ§€μ—­λ³€μˆ˜(local variable)

  • 클래슀 μ˜μ—­ 이외 (λ©”μ„œλ“œ, μƒμ„±μž λ“±)
  • μƒμ„±μ‹œκΈ°: μ„ μ–Έλ˜μ—ˆμ„ λ•Œ
package java06;

public class Person {
    static int personCount;

    String name;
    int age;
    String hobby;

    public void info() {
        System.out.println("λ‚΄ 이름은" + name + "μž…λ‹ˆλ‹€");
        System.out.println("λ‚˜μ΄λŠ”" + age + ", μ·¨λ―ΈλŠ”" + hobby + "μž…λ‹ˆλ‹€.");
    }

}
package java06;

public class PersonTest {
    public static void main(String[] args) {
        Person p1 = new Person();

        p1.name = "kim";
        p1.age = 24;
        p1.hobby = "Gym";

        Person p2 = new Person();
        
        p2.name = "Lee";
        p2.age = 25;
        p2.hobby = "Netflix";

        System.out.println(Person.personCount);
        System.out.println(p1.personCount); // μΈμŠ€ν„΄μŠ€λ‘œ μ ‘κ·Όν•  μˆ˜λŠ” μžˆμœΌλ‚˜ ꢌμž₯은 λ˜μ§€ μ•ŠλŠ”λ‹€!
        
    }
}

λ©”μ„œλ“œ

객체가 ν•  수 μžˆλŠ” 행동을 μ •μ˜

μ–΄λ–€ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” λͺ…λ Ήλ¬Έμ˜ 집합에 이름을 λΆ™μ—¬ 놓은 것

λ©”μ„œλ“œμ˜ 이름은 μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 것이 κ΄€λ‘€

[μ ‘κ·Όμ œν•œμž] [ν™œμš©μ œν•œμž] λ°˜ν™˜μž λ©”μ„œλ“œμ΄λ¦„([λ§€κ°œλ³€μˆ˜λ“€]) {
    ν–‰μœ„ 기술...
}

public static void main(String [] args) {}

λ©”μ„œλ“œ μ„ μ–Έ

  • μ„ μ–Έ μ‹œ {}μ•ˆμ— λ©”μ„œλ“œκ°€ ν•΄μ•Όν•  일을 μ •μ˜

λ©”μ„œλ“œ 호좜

  • ν˜ΈμΆœν•œ λ©”μ„œλ“œκ°€ μ„ μ–Έλ˜μ–΄μžˆλŠ” 클래슀λ₯Ό μ ‘κ·Όν•œλ‹€
  • 클래슀 객체.λ©”μ„œλ“œ μ΄λ¦„μœΌλ‘œ 호좜
  • static이 λ©”μ„œλ“œμ— μ„ μ–Έλ˜μ–΄μžˆμ„ λ•ŒλŠ” ν΄λž˜μŠ€μ΄λ¦„.λ©”μ„œλ“œμ΄λ¦„μœΌλ‘œ 호좜(λ©”λͺ¨λ¦¬μ— 미리 μ˜¬λΌκ°„λ‹€.)

λ§€κ°œλ³€μˆ˜(parameter)

  • λ©”μ„œλ“œμ—μ„œ μ‚¬μš©ν•˜λŠ” 것

인자(Argument)

  • ν˜ΈμΆœν•˜λŠ” μͺ½μ—μ„œ μ „λ‹¬ν•˜λŠ” 것

λ§€κ°œλ³€μˆ˜ μƒλž΅κ°€λŠ₯

νŒŒλΌλ―Έν„° 전달 μ‹œ λ¬΅μ‹œμ  ν˜• λ³€ν™˜

리턴 νƒ€μž…μ€ λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•  λ•Œ 지정, μ—†λ‹€λ©΄ void(returnλ¬Έ μƒλž΅ κ°€λŠ₯)

리턴 νƒ€μž…μ„ μž‘μ„±ν–ˆλ‹€λ©΄ λ°˜λ“œμ‹œ ν•΄λ‹Ή νƒ€μž…μ˜ 값을 리턴

리턴 νƒ€μž…μ€ ν•˜λ‚˜λ§Œ 적용 κ°€λŠ₯

λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©(Overloading)

  • 이름이 κ°™κ³  λ§€κ°œλ³€μˆ˜κ°€ λ‹€λ₯Έ λ©”μ„œλ“œ μ—¬λŸ¬ 개 μ •μ˜
  • 쀑볡 μ½”λ“œμ— λŒ€ν•œ 효율적 관리 κ°€λŠ₯
  • νŒŒλΌλ―Έν„°μ˜ 개수 λ˜λŠ” μˆœμ„œ, νƒ€μž…μ΄ λ‹¬λΌμ•Όν•œλ‹€ (νŒŒλΌλ―Έν„° μ΄λ¦„λ§Œ λ‹€λ₯Έ 것은 x)
  • 리턴 νƒ€μž…μ΄ λ‹€λ₯Έ 것은 의미x

'⭐ Personal_Study > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

맡(Map)  (0) 2022.12.18
λ°°μ—΄(Array) & 리슀트(List)  (0) 2022.12.17
String & StringBuffer  (2) 2022.12.10
클래슀 기초  (0) 2022.12.09
μ›μ‹œ μžλ£Œν˜•  (0) 2022.12.08

λŒ“κΈ€