Amenable
Amenable's Blog
Amenable
  • λΆ„λ₯˜ 전체보기 (189)
    • πŸ“‚ JAVA (87)
      • μ΄νŽ™ν‹°λΈŒ μžλ°” (65)
      • μ£Όμš” κ°œλ… (22)
    • πŸ“‚ 개발 μ„œμ  (22)
      • μ‹€μš©μ£Όμ˜ ν”„λ‘œκ·Έλž˜λ¨Έ (1)
      • 객체지ν–₯의 사싀과 μ˜€ν•΄ (2)
      • 클린 μ½”λ“œ (8)
      • ν•¨κ»˜ 자라기 (1)
      • 그림으둜 λ°°μš°λŠ” HTTP&Network Basic (10)
    • πŸ“‚ λ°μ΄ν„°λ² μ΄μŠ€ (8)
      • κ°œλ… (8)
      • λ¬Έμ œν’€μ΄ (0)
    • πŸ“‚ λ„€νŠΈμ›Œν¬ (14)
      • κ°œλ… (6)
      • 성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ 원리 (8)
    • πŸ“‚ μŠ€ν”„λ§ (13)
      • κΈ°λ³Έ κ°œλ… (13)
    • πŸ“‚ WEB (5)
    • πŸ“‚ 자료ꡬ쑰 (12)
      • κ°œλ… (2)
      • μ •λ ¬ (8)
      • 트리 (2)
    • πŸ“‚ μ•Œκ³ λ¦¬μ¦˜ (10)
      • μ΅œμ†Œμ‹ μž₯트리 (2)
      • μ΅œλ‹¨ 경둜 (2)
      • λ¬Έμžμ—΄ (2)
      • ETC (4)
    • πŸ“‚ μ•Œκ³ λ¦¬μ¦˜_λ¬Έμ œν’€μ΄ (4)
      • BOJ_λ°±μ€€ (4)
    • πŸ“‚ ν”„λ‘œκ·Έλž˜λ° (3)
    • πŸ“‚ DevOps (2)
      • 배포 (2)
    • πŸ“‚ ν›„κΈ° (8)
      • μš°μ•„ν•œ ν…Œν¬μ½”μŠ€(ν”„λ¦¬μ½”μŠ€) (4)
      • 2023λ…„ (3)
      • 2024λ…„ (1)
    • πŸ“‚ 회고 (1)
      • 2023λ…„ (1)

λΈ”λ‘œκ·Έ 메뉴

  • πŸš€ GitHub

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
Amenable

Amenable's Blog

λ³€μˆ˜
πŸ“‚ JAVA/μ£Όμš” κ°œλ…

λ³€μˆ˜

2023. 3. 21. 21:35

1. λ³€μˆ˜ πŸƒ‍♂️

  μžλ°”μ—μ„œ μžλ£Œν˜•μ€ 크게 'κΈ°λ³Έν˜•'κ³Ό 'μ°Έμ‘°ν˜•' 두 κ°€μ§€λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€. κΈ°λ³Έν˜• λ³€μˆ˜λŠ” μ‹€μ œ κ°’(data)을 μ €μž₯ν•˜κ³ , μ°Έμ‘°ν˜• λ³€μˆ˜λŠ” μ–΄λ–€ 값이 μ €μž₯λ˜μ–΄ μžˆλŠ” μ£Όμ†Œ(memory address)λ₯Ό κ°’μœΌλ‘œ κ°–λŠ”λ‹€. κΈ°λ³Έν˜•μ—λŠ” 8κ°€μ§€μ˜ νƒ€μž…이 μžˆκ³ , 8개의 κΈ°λ³Έν˜•을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€λŠ” λͺ¨λ‘ μ°Έμ‘°ν˜•이닀.

 

2. κΈ°λ³Έν˜• 🏌️‍♂️

1. ꡬ뢄

  κΈ°λ³Έν˜•μ€ ν¬κ²Œ 'λ…Όλ¦¬ν˜•, λ¬Έμžν˜•, μ •μˆ˜ν˜•, μ‹€μˆ˜ν˜•'으둜 κ΅¬λΆ„ν•œλ‹€.

λ…Όλ¦¬ν˜• boolean
λ¬Έμžν˜• char
μ •μˆ˜ν˜• byte short int long
μ‹€μˆ˜ν˜• float double

2. 크기

  κΈ°λ³Έν˜•μ˜ ν¬κΈ°λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

  1 byte 2 byte 4 byte 8 byte
λ…Όλ¦¬ν˜• boolean      
λ¬Έμžν˜•   char    
μ •μˆ˜ν˜• byte short int long
μ‹€μˆ˜ν˜•     float double

3. κΈ°λ³Έ μžλ£Œν˜•

  4개의 μ •μˆ˜ν˜•(byte, short, int, long)μ€‘μ—μ„œ intν˜•μ΄ κΈ°λ³Έ μžλ£Œν˜•(default data type)이며, μ‹€μˆ˜ν˜•(float, double)μ€‘μ—μ„œλŠ” double이 κΈ°λ³Έ μžλ£Œν˜•μ΄λ‹€.

 

3. μƒμˆ˜μ™€ λ¦¬ν„°λŸ΄ 🀾‍♂️

  μƒμˆ˜(Constant)λŠ” λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ κ°’을 μ €μž₯ν•  μˆ˜ μžˆλŠ” κ³΅κ°„μ΄μ§€λ§Œ, λ³€μˆ˜μ™€ λ‹¬λ¦¬ ν•œλ²ˆ κ°’을 μ €μž₯ν•˜λ©΄ λ‹€λ₯Έ κ°’μœΌλ‘œ λ³€κ²½ν•  μˆ˜ μ—†λ‹€. μžλ°”μ—μ„œ μƒμˆ˜λŠ” final을 μ΄μš©ν•΄μ„œ μ„ μ–Έν•œλ‹€.

final int WIDTH = 20;
final int MAX_VALUE = 100;

  λ¦¬ν„°λŸ΄(Literal)μ΄λž€ κ·Έ μžμ²΄λ‘œ κ°’을 μ˜λ―Έν•˜λŠ” κ²ƒμ΄λ‹€. μ•„λž˜ μ˜ˆμ‹œλ₯Ό ν†΅ν•΄ λ³€μˆ˜, μƒμˆ˜, λ¦¬ν„°λŸ΄μ„ μ΄ν•΄ν•˜λ„둝 ν•˜μž.

 

4. μ„ μ–Έ μœ„μΉ˜μ— λ”°λ₯Έ λ³€μˆ˜μ˜ μ’…λ₯˜ 🚡‍♀️

  λ³€μˆ˜λŠ” 'ν΄λž˜μŠ€λ³€μˆ˜, μΈμŠ€ν„΄μŠ€λ³€μˆ˜, μ§€μ—­λ³€μˆ˜'κ°€ μžˆλ‹€. (λ©€λ²„λ³€μˆ˜ - λ©”μ„œλ“œ λ°–μ—μ„œ μ„ μ–Έλœ λ³€μˆ˜)

  • μ§€μ—­λ³€μˆ˜ - λ©€λ²„λ³€μˆ˜λ₯Ό μ œμ™Έν•œ λ‚˜λ¨Έμ§€ λ³€μˆ˜
  • ν΄λž˜μŠ€λ³€μˆ˜ - λ©€λ²„λ³€μˆ˜ μ€‘ static이 λΆ™μ€ λ³€μˆ˜
  • μΈμŠ€ν„΄μŠ€λ³€μˆ˜ - λ©€λ²„λ³€μˆ˜ μ€‘ static이 λΆ™μ§€ μ•Šμ€ λ³€μˆ˜
class Variables {
	int iv; // μΈμŠ€ν„΄μŠ€λ³€μˆ˜
	static int cv; // ν΄λž˜μŠ€λ³€μˆ˜
	
	void method() {
		int lv = 0; // μ§€μ—­λ³€μˆ˜
	}
}

  μ•„λž˜μ˜ κ·Έλ¦Όκ³Ό ν‘œλ₯Ό 톡해 λ³€μˆ˜μ˜ μ„ μ–Έμœ„μΉ˜, 생성 μ‹œκΈ°, μ†Œλ©Έ μ‹œκΈ°λ„ ν™•μΈν•˜λ„λ‘ ν•˜μž.

λ³€μˆ˜μ˜ μ’…λ₯˜ μ„ μ–Έμœ„μΉ˜ μƒμ„±μ‹œκΈ° μ†Œλ©Έμ‹œκΈ°
ν΄λž˜μŠ€λ³€μˆ˜
(class variable)
클래슀 μ˜μ—­ ν΄λž˜μŠ€κ°€ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°ˆ λ•Œ ν”„λ‘œκ·Έλž¨ μ’…λ£Œ μ‹œ
μΈμŠ€ν„΄μŠ€λ³€μˆ˜
(instance variable)
μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜μ—ˆμ„ λ•Œ GC에 μ˜ν•΄ κ°μ²΄κ°€ μ—†μ–΄μ§ˆ λ•Œ
μ§€μ—­λ³€μˆ˜
(local variable)
클래슀 μ˜μ—­ μ΄μ™Έμ˜ μ˜μ—­
(λ©”μ„œλ“œ, μƒμ„±μž, μ΄ˆκΈ°ν™” λΈ”λŸ­ λ‚΄λΆ€)
λ³€μˆ˜ μ„ μ–Έλ¬Έμ΄ μˆ˜ν–‰λ˜μ—ˆμ„ λ•Œ μ„ μ–Έλœ μ˜μ—­μ„ λ²—μ–΄λ‚  λ•Œ

 

ν•΄λ‹Ή 글은 남ꢁ성 λ‹˜μ˜ Java의 정석을 μ°Έκ³ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

'πŸ“‚ JAVA > μ£Όμš” κ°œλ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

얕은 볡사(Shallow Copy) vs κΉŠμ€ 볡사(Deep Copy)  (0) 2023.04.07
JVM λ©”λͺ¨λ¦¬ ꡬ쑰  (0) 2023.03.24
곡변 λ°˜ν™˜νƒ€μž… (Convariant Return Type)  (0) 2023.03.09
마컀 μΈν„°νŽ˜μ΄μŠ€ (Marker Interface)  (0) 2023.03.09
Parsing(νŒŒμ‹±) - CSV, XML, JSON  (0) 2023.01.30
    'πŸ“‚ JAVA/μ£Όμš” κ°œλ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • 얕은 볡사(Shallow Copy) vs κΉŠμ€ 볡사(Deep Copy)
    • JVM λ©”λͺ¨λ¦¬ ꡬ쑰
    • 곡변 λ°˜ν™˜νƒ€μž… (Convariant Return Type)
    • 마컀 μΈν„°νŽ˜μ΄μŠ€ (Marker Interface)
    Amenable
    Amenable
    CS, μžλ°”, 자료ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜, μŠ€ν”„λ§, μŠ€ν”„λ§ λΆ€νŠΈμ— ν•΄λ‹Ήν•˜λŠ” κ°œλ°œμ— κ΄€ν•œ λ‚΄μš©μ„ κ³΅μœ ν•©λ‹ˆλ‹€.

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