[Java] μƒμ„±μž

CountryGirlΒ·2023λ…„ 5μ›” 31일
0

Java

λͺ©λ‘ 보기
6/19
post-thumbnail

πŸ“Œ μƒμ„±μž (Constructor)

: 객체가 생성될 λ•Œ 호좜되며 객체λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€.

😎 μ„ μ–Έκ³Ό 호좜

public Car() {} // μ„ μ–Έ

...

Car car = new Car(); // 호좜
  • μƒμ„±μžλŠ” λ°˜ν™˜ νƒ€μž…μ΄ μ—†κ³ , 이름은 클래슀 이름과 λ™μΌν•˜λ‹€.
  • new μ—°μ‚°μžμ— μ˜ν•΄ 객체가 μƒμ„±λ˜λ©΄μ„œ Car(); μƒμ„±μžκ°€ ν˜ΈμΆœλœλ‹€.

😎 κΈ°λ³Έμƒμ„±μž

: μ„ μ–Έν•  λ•Œ κ΄„ν˜Έ μ•ˆμ— () 아무것도 λ„£μ§€ μ•Šμ€ μƒμ„±μž

  • λ§Œμ•½ ν΄λž˜μŠ€μ— μƒμ„±μžλ₯Ό μƒμ„±ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄ μ»΄νŒŒμΌλŸ¬κ°€ κΈ°λ³Έμƒμ„±μžλ₯Ό μžλ™μœΌλ‘œ λ§Œλ“€μ–΄μ£ΌκΈ° λ•Œλ¬Έμ— μƒλž΅κ°€λŠ₯ν•˜λ‹€.
  • λ°˜λŒ€λ‘œ ν•˜λ‚˜λΌλ„ μƒμ„±μžκ°€ 선언이 λ˜μ–΄μžˆλ‹€λ©΄ μ»΄νŒŒμΌλŸ¬λŠ” κΈ°λ³Έμƒμ„±μžλ₯Ό μžλ™μœΌλ‘œ μΆ”κ°€ν•΄μ£Όμ§€ μ•ŠλŠ”λ‹€.
public class Car {
		public Car(String model) {} 
		
}

이런 경우 ()μ•ˆμ— String model 이 있기 λ•Œλ¬Έμ— μ»΄νŒŒμΌλŸ¬κ°€ κΈ°λ³Έμƒμ„±μžλ₯Ό μΆ”κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€.

Car car = new Car();				// μ΄λ ‡κ²Œ μƒμ„±ν•œλ‹€λ©΄ 였λ₯˜κ°€ λ°œμƒν•œλ‹€
Car car = new Car("A model");		// μ΄λ ‡κ²Œ 생성할 수 μžˆλ‹€
  • μ»΄νŒŒμΌλŸ¬μ— μ˜ν•΄ μƒμ„±λ˜λŠ” κΈ°λ³Έ μƒμ„±μžλŠ” ν•΄λ‹Ή 클래슀의 μ ‘κ·Ό μ œμ–΄λ₯Ό λ”°λ₯Έλ‹€.

😎 ν•„λ“œ μ΄ˆκΈ°ν™”

μƒμ„±μžλŠ” 객체λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€.

  • 객체λ₯Ό λ§Œλ“€ λ•Œ μΈμŠ€ν„΄μŠ€λ§ˆλ‹€ λ‹€λ₯Έ 값을 κ°€μ Έμ•Ό ν•œλ‹€λ©΄ μƒμ„±μžλ₯Ό ν†΅ν•΄μ„œ ν•„λ“œλ₯Ό μ΄ˆκΈ°ν™”ν•  수 μžˆλ‹€.
    (μ˜ˆμ‹œ)
    Car
    • SanteFe
    • K7
    • GV80
      ➑️ 각 μžλ™μ°¨λ§ˆλ‹€ λͺ¨λΈ, 색상, 가격이 λ‹€λ₯΄κΈ°λ•Œλ¬Έμ— μƒμ„±μžλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•„λ“œμ˜ 값을 μ΄ˆκΈ°ν™”ν•˜λŠ” 것이 μ’‹λ‹€.
  • 객체λ₯Ό λ§Œλ“€ λ•Œλ§ˆλ‹€ κ³ μ •ν•΄μ•Όν•˜λŠ” 값이 μžˆλ‹€λ©΄ μ΄ˆκΈ°κ°’μ„ 직접 λŒ€μž…ν•˜λŠ” 것이 μ’‹λ‹€.

😎 μƒμ„±μž μ˜€λ²„λ‘œλ”©

μƒμ„±μžλ₯Ό 톡해 ν•„λ“œλ₯Ό μ΄ˆκΈ°ν™”ν•  λ•Œ μ˜€λ²„λ‘œλ”©μ„ μ μš©ν•  수 μžˆλ‹€.

  • (μ˜ˆμ‹œ)
    μžλ™μ°¨λ₯Ό 생성할 λ•Œ λͺ¨λΈ, 색상, 가격이 λ‹€λ₯Έ μžλ™μ°¨λ₯Ό μ—¬λŸ¬ λŒ€ 생성할 μˆ˜λ„ 있고 μƒ‰μƒλ§Œ λ‹€λ₯Έ μžλ™μ°¨λ₯Ό μ—¬λŸ¬ λŒ€ 생성할 μˆ˜λ„ 있기 λ•Œλ¬Έμ— μ˜€λ²„λ‘œλ”©μ„ μ‚¬μš©ν•΄ 더 효율적으둜 μ²˜λ¦¬ν•œλ‹€ !!!

🚨 주 의 🚨

String modelName, String colorName λ§€κ°œλ³€μˆ˜ μœ„μΉ˜κ°€ λ‹€λ₯΄λ„€? μ˜€λ²„λ‘œλ”© λ˜κ² μ§€?
라고 μƒκ°ν•œλ‹€λ©΄ μ•„μ£Όμ•„μ£Ό ν¬λ‚˜ν° μ˜€μ‚°.

λ§€κ°œλ³€μˆ˜λͺ…λ§Œ λ‹€λ₯Έ 경우 μ˜€λ²„λ‘œλ”© κ·œμΉ™μ— μœ„λ°° !!
κ²°κ΅­ νƒ€μž…μ˜ μˆœμ„œλŠ” String - String - double 이기 λ•Œλ¬Έμ΄λ‹€ !!

public Car(String modelName, String colorName, double priceValue)
public Car(String colorName, String modelName, double priceValue)

😎 μƒμ„±μž μ˜€λ²„λ‘œλ”© μ˜ˆμ‹œμ½”λ“œ

// 3κ°€μ§€ μƒμ„±μž

public Car(String modelName) {				// μƒμ„±μž #1  
        model = modelName;
    }

    public Car(String modelName, String colorName) {		// μƒμ„±μž #2
        model = modelName;
        color = colorName;
    }

    public Car(String modelName, String colorName, double priceValue) {		// μƒμ„±μž #3
        model = modelName;
        color = colorName;
        price = priceValue;
    }

πŸ’‘ λ§€κ°œλ³€μˆ˜μ— 따라 ν˜ΈμΆœλ˜λŠ” μƒμ„±μžκ°€ μ •ν•΄μ§„λ‹€ !! πŸ’‘

		// main 
        
		Car car2 = new Car("GV60");		// μƒμ„±μž #1 호좜
        System.out.println("car2.model = " + car2.model);
        System.out.println("car2.gear = " + car2.gear + "\n");
        
        Car car3 = new Car("GV70", "Blue");		// μƒμ„±μž #2 호좜
        System.out.println("car3.model = " + car3.model);
        System.out.println("car3.color = " + car3.color);
        System.out.println("car3.gear = " + car3.gear + "\n");

        Car car4 = new Car("GV80", "Black", 50000000);		// μƒμ„±μž #3 호좜
        System.out.println("car4.model = " + car4.model);
        System.out.println("car4.color = " + car4.color);
        System.out.println("car4.price = " + car4.price);
        System.out.println("car4.gear = " + car4.gear + "\n");
profile
πŸ’»πŸŒΎμ‹œκ³¨μ†Œλ…€μ˜ 엉망징창 개발 μ„±μž₯μΌμ§€πŸŒΎπŸ’» (2023.05.23 ~)

0개의 λŒ“κΈ€