🌱 μœ„λ‹ˆ Log 🌱

Serialization

Serialization 객체λ₯Ό λ°”μ΄νŠΈ 슀트림으둜 λ³€ν™˜ν•˜μ—¬ μ €μž₯ν•˜κ±°λ‚˜ 전솑할 수 있게 ν•˜λŠ” κ³Όμ • Java μ‹œμŠ€ν…œ λ‚΄λΆ€μ—μ„œ μ‚¬μš©λ˜λŠ” 데이터λ₯Ό μ™ΈλΆ€μ˜ Java μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ°”μ΄νŠΈ ν˜•νƒœλ‘œ λ³€ν™˜ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. κ΅¬ν˜„ 방식 public interface Serializable() { } μžλ°”μ—μ„œ 직렬화λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄μ„œ...

synchroinzed 와 DeadLock

synchroinzed λ©€ν‹°μŠ€λ ˆλ“œ ν™˜κ²½μ—μ„œ 동기화λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ‚¬μš© νŠΉμ •ν•œ λΈ”λ‘μ΄λ‚˜ λ©”μ„œλ“œλ₯Ό μ—¬λŸ¬ μŠ€λ ˆλ“œκ°€ 동신에 μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 μ œμ–΄ν•œλ‹€. λ©”μ„œλ“œ μ„ μ–Έμ‹œ μ‚¬μš©ν•˜λ©΄ ν•΄λ‹Ή λ©”μ„œλ“œλŠ” ν•΄λ‹Ή 객체의 락을 νšλ“ν•˜κ³ , λ©”μ„œλ“œ 싀행이 μ™„λ£Œλ  λ•Œ 락을 ν•΄μ œν•œλ‹€. λ‹€λ₯Έ μŠ€λ ˆλ“œκ°€ 동일 객체에 μ ‘κ·Όν•˜λ €λ©΄ 락이 ν•΄μ œλ  λ•ŒκΉŒμ§€ λŒ€κΈ°ν•΄μ•Ό ν•œλ‹€. νŠΉμ • μ½”λ“œ 블둝에 사...

Genericκ³Ό Object

Generic 데이터 νƒ€μž…μ„ μΌλ°˜ν™”ν•˜μ—¬ 클래슀, μΈν„°νŽ˜μ΄μŠ€, λ©”μ„œλ“œλ₯Ό μ •μ˜ν•  λ•Œ μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯ ν΄λž˜μŠ€λ‚˜ λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•  λ•Œ νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•˜μ§€ μ•Šκ³ , μ‚¬μš©ν•˜λŠ” μ‹œμ μ— μ‹€μ œ νƒ€μž…μ„ 지정할 수 μžˆλ‹€. μ œλ„€λ¦­μ„ μ΄μš©ν•˜μ—¬ νŠΉμ • νƒ€μž…μ— μ˜μ‘΄ν•˜μ§€ μ•Šκ³  데이터 κ΅¬μ‘°λ‚˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ •μ˜ν•  수 있으며, μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±κ³Ό νƒ€μž… μ•ˆμ •μ„±μ„ ν–₯상 μ‹œν‚¬ 수 μžˆλ‹€. ...

상속과 λ‹€ν˜•μ„±

상속 μƒμœ„ 클래슀의 κΈ°λŠ₯을 ν•˜μœ„ν΄λž˜μŠ€λ‘œ ν™•μž₯ν•˜λŠ” 것 ν•˜μœ„ ν΄λž˜μŠ€λŠ” μƒμœ„ 클래슀의 속성과 λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•  수 있고 ν™•μž₯ν•˜κ±°λ‚˜ λ³€κ²½ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€. λ‹€ν˜•μ„± λΆ€λͺ¨ ν΄λž˜μŠ€λ‚˜ μΈν„°νŽ˜μ΄μŠ€ νƒ€μž…μ˜ μ°Έμ‘° λ³€μˆ˜λ₯Ό 톡해 μ—¬λŸ¬ μžμ‹ 클래슀의 객체λ₯Ό λ‹€λ£° 수 μžˆλŠ” νŠΉμ§• λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©μ„ 톡해 κ΅¬ν˜„λ˜λ©° μ‹€μ œ λ©”μ„œλ“œ ν˜ΈμΆœμ€ μ‹€ν–‰ μ‹œκ°„μ— κ²°μ •λœλ‹€. 컴파일 μ‹œκ°„μ˜...

Exception μ˜ˆμ™Έ?

Exception은 ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 쀑 λ°œμƒν•˜λŠ” μ˜ˆμ™Έ μƒν™©μœΌλ‘œ Checked exceptionκ³Ό Unchecked exception 이 μžˆλ‹€. Checked Exception 컴파일 μ‹œμ μ— λ°œμƒν•˜λ©° μ»΄νŒŒμΌλŸ¬κ°€ μ˜ˆμ™Έμ²˜λ¦¬λ₯Ό κ°•μ œν•œλ‹€. 처리 λ°©λ²•μ—λŠ” 두 가지가 μžˆλ‹€. try-catch 블둝을 μ‚¬μš© throws ν‚€μ›Œλ“œλ₯Ό μ‚¬μš© μ˜ˆμ™Έκ°€ 발...

Process 와 Tread

Process μš΄μ˜μ²΄μ œμ— μ˜ν•΄μ„œ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨ 각각의 ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ 독립적인 λ©”λͺ¨λ¦¬ 곡간을 가지며, λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ λ©”λͺ¨λ¦¬ 곡간에 μ ‘κ·Όν•  수 μ—†λ‹€. μš΄μ˜μ²΄μ œμ— μ˜ν•΄ λ©”λͺ¨λ¦¬, μž…μΆœλ ₯ μž₯치 λ“±μ˜ μžμ›μ„ ν• λ‹Ήλ°›μœΌλ©° μƒνƒœλ₯Ό κ°–λŠ”λ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” μ΅œμ†Œ ν•˜λ‚˜μ˜ μŠ€λ ˆλ“œλ₯Ό κ°–λŠ”λ‹€. λ©€ν‹° ν”„λ‘œμ„ΈμŠ€ μ—¬λŸ¬ 개의 ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— μ‹€...

String 객체λ₯Ό μ„ μ–Έν•˜λŠ” 방법

String 을 μ„ μ–Έν•˜λŠ” λ°©λ²•μ—λŠ” 두 가지 방법이 μžˆμŠ΅λ‹ˆλ‹€. 두 방식은 μ €μž₯ 곡간(λ©”λͺ¨λ¦¬)에 차이가 μžˆμŠ΅λ‹ˆλ‹€. λ¦¬ν„°λŸ΄λ‘œ μ„ μ–Έ λ¦¬ν„°λŸ΄λ‘œ μ„ μ–Έν•˜λŠ” 경우 λ¬Έμžμ—΄μ„ String Constant pool에 μ €μž₯ν•œλ‹€. λ”°λΌμ„œ λ©”λͺ¨λ¦¬μ˜ 효율이 μ’‹λ‹€. λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜μ—¬ 생성할 λ•Œ μƒμˆ˜ 풀에 같은 값이 μ‘΄μž¬ν•˜λ©΄ κ°μ²΄λŠ” 이미 μ‘΄μž¬ν•˜λŠ” 값을 μ°Έμ‘°ν•œλ‹€. 따라 동일...

동등성과 동일성

동일성 Identity λ©”λͺ¨λ¦¬ μ£Όμ†Œκ°€ κ°™μŒ μ£Όμ†Œ 값이 κ°™κΈ° λ•Œλ¬Έμ— 두 λ³€μˆ˜κ°€ 같은 객체λ₯Ό 가리킨닀. == 동등성 Equality 값이 κ°™μŒ 두 개의 객체가 같은 정보λ₯Ό κ°–λŠ”λ‹€ 객체의 μ£Όμ†Œκ°€ λ‹€λ₯΄λ”라도 λ‚΄μš©μ΄ κ°™μœΌλ©΄ 동등~~ equals κΈ°λ³Έ νƒ€μž…μ˜ λ³€μˆ˜λŠ” 값을 직접 μ €μž₯ν•˜κΈ° λ•Œλ¬Έμ— 같은 값을 κ°€μ§€λŠ” μ—¬...

Primitive νƒ€μž…κ³Ό Reference νƒ€μž…

Primitive Type κΈ°λ³Έ 데이터 νƒ€μž…μœΌλ‘œ μ •μˆ˜, μ‹€μˆ˜, λΆˆλ¦¬μ–Έ λ“±μ˜ μ‹€μ œ 데이터 값을 μ €μž₯ν•˜λŠ” νƒ€μž… int, long, double, float, boolean Reference Type 객체 μ°Έμ‘° νƒ€μž…μœΌλ‘œ 객체의 μ£Όμ†Œλ₯Ό μ €μž₯ν•˜λŠ” νƒ€μž… λ°°μ—΄, 클래슀, μΈν„°νŽ˜μ΄μŠ€ 차이 두 νƒ€μž…μ˜ μ°¨μ΄λŠ” λ©”λͺ¨λ¦¬ μ €μž₯ μœ„μΉ˜μ™€ 데이터 처리 λ°©...