[Java] ν΄λž˜μŠ€μ™€ 객체의 μ •μ˜

2024. 10. 5. 18:21Β·β˜•Java/πŸ“Java Programming

 

(1) ν΄λž˜μŠ€μ™€ 객체 λΆ•μ–΄λΉ΅ν‹€? λΆ•μ–΄λΉ΅?

ν΄λž˜μŠ€μ™€ 객체λ₯Ό μ„€λͺ…ν•  λ•Œ λΆ•μ–΄λΉ΅ν‹€κ³Ό λΆ•μ–΄λΉ΅μœΌλ‘œ 주둜 μ˜ˆμ‹œλ₯Ό λ“ λ‹€. ν•΄λ‹Ή μ˜ˆμ‹œλŠ” μ†”μ§νžˆ 처음 λ°°μš°λŠ” μž…μž₯μ—μ„œλŠ” μ „ν˜€ μ˜ˆμ‹œλ₯Ό 톡해 이해λ₯Ό ν•˜κΈ°κ°€ μ‰½μ§€λŠ” μ•Šμ„ 것이닀. μ˜ˆμ‹œλ₯Ό λ“  μ΄ν•΄λ³΄λ‹€λŠ” μ •ν™•ν•œ 이해λ₯Ό ν•˜κΈ° μœ„ν•΄ μ—¬κΈ°μ„œ μ˜ˆμ‹œλŠ” μƒλž΅ν•œλ‹€.

 

(2) ν΄λž˜μŠ€μ™€ κ°μ²΄λž€?

ν΄λž˜μŠ€λž€?

μžλ°” μ–Έμ–΄λ₯Ό ν™œμš©ν•΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ‹€ 보면, ν•΄λ‹Ή μ½”λ“œλ₯Ό μž‘μ„±ν•  파일이 ν•„μš”ν•˜λ‹€. ν•΄λ‹Ή 파일 내뢀에 class ν‚€μ›Œλ“œκ°€ λΆ™μœΌλ©΄ ν•΄λ‹Ή νŒŒμΌμ€ μžλ°” μ†ŒμŠ€μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆλŠ” 클래슀 파일이 λœλ‹€. 이것이 ν΄λž˜μŠ€μ΄λ‹€.

 

κ°μ²΄λž€?

μžλ°”μ—μ„œλŠ” new ν‚€μ›Œλ“œλ₯Ό μ΄μš©ν•΄ 객체λ₯Ό 생성할 수 μžˆλ‹€. λŸ°νƒ€μž„μ— ν•˜λ‚˜μ˜ 클래슀λ₯Ό κ°€μ§€κ³  λ™μΌν•œ 객체듀을 μ—¬λŸΏ 생성할 수 있게 λœλ‹€. 즉, κ°μ²΄λŠ” 클래슀의 정보λ₯Ό ν† λŒ€λ‘œ λ™μ μœΌλ‘œ λ§Œλ“€μ–΄μ§€λŠ” 볡사본을 μ˜λ―Έν•˜κ²Œ λœλ‹€.

 

(3) μ˜ˆμ‹œ μ½”λ“œ

ν΄λž˜μŠ€μ™€ 객체의 이해λ₯Ό μœ„ν•œ μ˜ˆμ‹œ μ½”λ“œμ΄λ‹€.

public class Main {
	public static void main(String[] args) {
		Car audi = new Car();
		Car hyundai = new Car();
		Car benz = new Car();
    }
}

public class Car {
	public Car(){} // κΈ°λ³Έ μƒμ„±μž
}

μœ„μ˜ μ˜ˆμ‹œλ₯Ό 톡해 보면 "new Car()" λ₯Ό 톡해 각각 μ•„μš°λ””, ν˜„λŒ€, λ²€μΈ  λΌλŠ” λ³€μˆ˜λͺ…μœΌλ‘œ 객체λ₯Ό ν˜„μž¬ 3개λ₯Ό λ§Œλ“€κ³  μžˆμŠ΅λ‹ˆλ‹€
μ—¬κΈ°μ„œ ν΄λž˜μŠ€λŠ” Car이며, κ°μ²΄λŠ” new Car()κ°€ 객체라고 μƒκ°ν•˜λ©΄ λ˜κ² μŠ΅λ‹ˆλ‹€. ( μžμ„Έν•œ μ„€λͺ…은 λ°‘μ—μ„œ, 일단 λ„˜μ–΄κ°€κ³  )
μœ„μ˜ μ˜ˆμ‹œμ—μ„œ ν¬μΈνŠΈλŠ” 객체λ₯Ό 3개λ₯Ό λ§Œλ“œλŠ” 것 μž…λ‹ˆλ‹€. Carν΄λž˜μŠ€λŠ” ν•˜λ‚˜μΈλ° μœ„μ˜ μ½”λ“œμ²˜λŸΌ new Car()λ₯Ό 톡해 μ΄λ¦„λ§Œ λ‹€λ₯΄μ§€ κ²°κ΅­ 같은 μƒκΉ€μƒˆλ₯Ό κ°€μ§„ 객체λ₯Ό 3개λ₯Ό λ§Œλ“€ 수 μžˆλŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
 
이제 μ—¬κΈ°μ„œ 뢕어빡틀이 클래슀, 뢕어빡은 κ°μ²΄λΌλŠ” μ˜ˆμ‹œλ₯Ό μ μš©μ‹œμΌœ λ³΄κ² μŠ΅λ‹ˆλ‹€.
뢕어빡틀은 ν•˜λ‚˜λ‘œ μ—¬λŸ¬κ°œμ˜ 뢕어빡을 찍어낼 수 μžˆλŠ” 효율적인 ν‹€μž…λ‹ˆλ‹€. μœ„μ˜ μ½”λ“œ μ˜ˆμ‹œμ™€ 비ꡐλ₯Ό 해보면 맀우 λΉ„μŠ·ν•œ λ™μž‘μ›λ¦¬λ‘œ λŒμ•„κ°„λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 이렇듯 "ν΄λž˜μŠ€λŠ” ν•˜λ‚˜λ§Œ 쑴재 ν•  수 있고 κ°μ²΄λŠ” μ—¬λŸ¬κ°œ μ‘΄μž¬ν•  수 μžˆλ‹€." λΌλŠ”μ μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. (ν•΄λ‹Ή 클래슀둜 μ—¬λŸ¬κ°œμ˜ 객체λ₯Ό μ°μ–΄λ‚΄λŠ” 것이기 λ•Œλ¬Έ)

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

[Java] λ³€μˆ˜ μ΄ˆκΈ°ν™”μ— λŒ€ν•œ 이해  (0) 2024.11.05
[Java] Annotation μ΄λž€? ( μ• λ…Έν…Œμ΄μ…˜ )  (0) 2024.11.05
[Java] JVM λ™μž‘ 원리  (1) 2024.10.23
[Java] 상속 ( Extends )  (2) 2024.05.01
[Java] μ˜ˆμ™Έ ( Exception )  (2) 2024.04.26
'β˜•Java/πŸ“Java Programming' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Java] Annotation μ΄λž€? ( μ• λ…Έν…Œμ΄μ…˜ )
  • [Java] JVM λ™μž‘ 원리
  • [Java] 상속 ( Extends )
  • [Java] μ˜ˆμ™Έ ( Exception )
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (141) N
      • πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ (25) N
        • πŸ–₯️컴퓨터과학과 (1)
        • πŸŒμœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ… (10) N
        • βš™οΈμ»΄ν“¨ν„°μ˜ 이해 (11)
        • πŸ›οΈμ„Έκ³„μ˜μ •μΉ˜μ™€κ²½μ œ (3)
      • πŸ“šComputer Science (0)
      • πŸ› οΈBackend (2)
      • β˜•Java (1) N
        • πŸ“Java Programming (9)
        • 🧩Java Design Pattern (1)
      • 🌳Spring (9)
        • 🌱Spring Framework (6)
        • 🌱Spring Security (1)
      • ⚑Python (13)
      • πŸ›’οΈDatabase (0)
      • 🌿GitHub (1)
      • 🌐 Network (7)
        • πŸ“œHTTP (7)
      • πŸš€DevOps (1)
      • Algorithm Problem Solving (2)
      • Data Structure (1)
      • JavaScript (1)
      • β›ΊμŠ€νŒŒλ₯΄νƒ€μ½”λ”©ν΄λŸ½ (65)
      • μž‘λ‹΄ (1)
      • 정리가 ν•„μš”ν•œ κΈ€ (2)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • GitHub
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    μŠ€ν”„λ§
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…κ°œλ‘ 
    λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅
    ν•¨μˆ˜
    Java
    Spring Framework
    λ°©μ†‘λŒ€
    ν΄λΌμš°λ“œ
    spring
    Python
    μœ λΉ„μΏΌν„°μŠ€
    파이썬
    컴파일러
    μ»΄ν“¨ν„°μ˜ 이해
    클래슀
    μžλ°”
    세계화
    λ©”λͺ¨λ¦¬
    λ°©ν†΅λŒ€
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
junbin2
[Java] ν΄λž˜μŠ€μ™€ 객체의 μ •μ˜
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”