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

13 Method

by Dowon Kang 2024. 1. 20.

λ©”μ„œλ“œλŠ” νŠΉμ • μž‘업을 μˆ˜ν–‰ν•˜λŠ” μ½”λ“œ λΈ”둝을 λ‚˜νƒ€λ‚΄λ©°, ν•„μš”ν•  λ•Œ ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. 

λ©”μ„œλ“œλŠ” μ½”λ“œλ₯Ό λͺ¨λ“ˆν™”ν•˜κ³  μž¬μ‚¬μš©μ„±μ„ λ†’이기 μœ„ν•œ μ€‘μš”ν•œ κ°œλ… μ€‘ ν•˜λ‚˜μž…λ‹ˆλ‹€. 

 

μžλ°”μ—μ„œλŠ” μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ™€ ν΄λž˜μŠ€ λ©”μ„œλ“œ(λ˜λŠ” μ •μ  λ©”μ„œλ“œ) λ‘ κ°€μ§€ μœ ν˜•μ˜ λ©”μ„œλ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ΄ λ‘ μœ ν˜•μ˜ λ©”μ„œλ“œλŠ” μ„œλ‘œ λ‹€λ₯Έ μš©λ„와 ν˜ΈμΆœ λ°©μ‹μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

1. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ (Instance Method)

μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλŠ” νŠΉμ • 객체의 μΈμŠ€ν„΄μŠ€μ— μ’…μ†λœ λ©”μ„œλ“œμž…λ‹ˆλ‹€. 즉, 객체λ₯Ό μƒμ„±ν•΄μ•Όλ§Œ ν•΄λ‹Ή λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλŠ” λ‹€μŒκ³Ό 같은 νŠΉμ§•μ„ κ°€μ§‘λ‹ˆλ‹€:

  • λ©”μ„œλ“œ μ •μ˜ μ‹œ static ν‚€μ›Œλ“œκ°€ μ—†μŠ΅λ‹ˆλ‹€.
  • λ©”μ„œλ“œ λ‚΄μ—μ„œ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ— μ ‘κ·Όν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
  • 객체λ₯Ό μƒμ„±ν•œ ν›„μ—μ•Όλ§Œ ν•΄λ‹Ή λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

더보기

public class MyClass {
    private int value;

    // μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ
    public void setValue(int newValue) {
        value = newValue;
    }
}

MyClass myObject = new MyClass(); // λ©”μ„œλ“œ μ‚¬μš© μœ„ν•΄ κ°μ²΄ μƒμ„± ν•„μš”
myObject.setValue(10);

 

2. 클래슀 λ©”μ„œλ“œ (Static Method)

클래슀 λ©”μ„œλ“œλŠ” νŠΉμ • μΈμŠ€ν„΄μŠ€μ— μ†ν•˜μ§€ μ•Šκ³ , ν΄λž˜μŠ€ μžμ²΄μ— μ†ν•œ λ©”μ„œλ“œμž…λ‹ˆλ‹€. κ°μ²΄λ₯Ό μƒμ„±ν•˜μ§€ μ•Šκ³ λ„ ν΄λž˜μŠ€μ˜ μ΄λ¦„을 ν†΅ν•΄ μ§μ ‘ ν˜ΈμΆœν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. ν΄λž˜μŠ€ λ©”μ„œλ“œλŠ” λ‹€μŒκ³Ό κ°™μ€ νŠΉμ§•μ„ κ°€μ§‘λ‹ˆλ‹€:

  • λ©”μ„œλ“œ μ •μ˜ μ‹œ static ν‚€μ›Œλ“œκ°€ μ‚¬μš©λ©λ‹ˆλ‹€.
  • 클래슀 λ³€μˆ˜μ—λ§Œ μ ‘κ·Όν•  μˆ˜ μžˆμœΌλ©°, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ—λŠ” μ§μ ‘ μ ‘κ·Όν•  μˆ˜ μ—†μŠ΅λ‹ˆλ‹€.
  • 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šκ³ λ„ ν˜ΈμΆœν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

더보기

public class MathOperations {
    // ν΄λž˜μŠ€ λ©”μ„œλ“œ
    public static int add(int a, int b) {
        return a + b;
    }
}

int sumResult = MathOperations.add(5, 3); // κ°μ²΄ μƒμ„± μ—†μ΄ μ ‘κ·Ό
System.out.println(sumResult); // μΆœλ ₯: 8

 

 


 

 

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

λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©(Method Overloading)은 μžλ°”μ—μ„œ ν•œ ν΄λž˜μŠ€ λ‚΄μ—μ„œ λ™μΌν•œ μ΄λ¦„을 κ°€μ§„ λ©”μ„œλ“œλ₯Ό μ—¬λŸ¬ κ°œ μ •μ˜ν•˜λŠ” κ²ƒμ„ λ§ν•©λ‹ˆλ‹€. λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©μ„ μ‚¬μš©ν•˜λ©΄ λ™μΌν•œ μž‘업을 μˆ˜ν–‰ν•˜λŠ” λ©”μ„œλ“œλ“€μ„ ν•˜λ‚˜μ˜ μ΄λ¦„μœΌλ‘œ κ·Έλ£Ήν™”ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©μ€ λ‹€μ–‘ν•œ λ§€κ°œλ³€μˆ˜μ˜ μœ ν˜•, μˆœμ„œ, κ°œμˆ˜λ₯Ό ν—ˆμš©ν•˜μ—¬ λ©”μ„œλ“œμ˜ λ‹€μ–‘성을 μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€.

λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©μ€ μ½”λ“œμ˜ 가독성을 높이고, μ‚¬μš©μžκ°€ λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•  λ•Œ νŽΈμ˜μ„±μ„ 제곡

더보기

public class Calculator {
    // μ •μˆ˜ λ‘ κ°œλ₯Ό λ”ν•˜λŠ” λ©”μ„œλ“œ
    public int add(int a, int b) {
        return a + b;
    }

    // μ‹€μˆ˜ λ‘ κ°œλ₯Ό λ”ν•˜λŠ” λ©”μ„œλ“œ
    public double add(double a, double b) {
        return a + b;
    }

    // μ •μˆ˜ μ„Έ κ°œλ₯Ό λ”ν•˜λŠ” λ©”μ„œλ“œ
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

 

 

 


A method is a block of code that performs a specific task, which define the behavior of objects.

 

Instance method are methods which require an object of its class to be created before it can be called. To invoke a instance method, we have to create an Object of the class in which the method is defined.

Static methods are the methods in Java that can be called without creating an object of class. They are referenced by the class name itself or reference to the Object of that class.

 

Method overloading is a feature in Java that allows a class to have multiple methods with the same name but different parameter lists.

 

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

15 Inheritance  (0) 2024.01.20
14 Encapsulation (feat. Access modifier)  (0) 2024.01.20
12 Constructor  (0) 2024.01.19
11 Class intro - feat. Field (Member variable)  (0) 2024.01.19
10 Object-Oriented Programming (feat. Procedural Programming)  (1) 2024.01.19

λŒ“κΈ€