πŸ“ Language/✏ JAVA

    [JAVA] μŠ€λ ˆλ“œ

    [JAVA] μŠ€λ ˆλ“œ

    μŠ€λ ˆλ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ©΄ μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 싀행에 ν•„μš”ν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήλ°›λŠ”λ°, μ‹€ν–‰ 쀑인 ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν”„λ‘œμ„ΈμŠ€λΌ ν•˜κ³  ν”„λ‘œμ„ΈμŠ€ λ‚΄λΆ€μ—μ„œ μ½”λ“œμ˜ μ‹€ν–‰ 흐름을 μŠ€λ ˆλ“œλΌ ν•œλ‹€. 1. λ©€ν‹° μŠ€λ ˆλ“œ μš΄μ˜μ²΄μ œλŠ” λ©€ν‹° νƒœμŠ€ν‚Ήμ„ ν•  수 μžˆλ„λ‘ CPU 및 λ©”λͺ¨λ¦¬ μžμ›μ„ ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ 적절히 ν• λ‹Ήν•΄μ£Όκ³  λ³‘λ ¬λ‘œ μ‹€ν–‰μ‹œν‚¨λ‹€. μ΄λ•Œ λ©€ν‹° νƒœμŠ€ν‚Ήμ΄ κΌ­ λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό λœ»ν•˜λŠ” 것은 μ•„λ‹ˆλ‹€. λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λŠ” ν•˜λ‚˜ μ΄μƒμ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ™μ‹œμ— 병렬 μ²˜λ¦¬ν•˜λŠ” 것을 λ§ν•œλ‹€. ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό λ§Œλ“€κΈ°λ„ ν•œλ‹€. 예λ₯Ό λ“€μ–΄ μ–΄λ–€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 2개 μ‹€ν–‰ν–ˆλ‹€λ©΄ 2개의 ν”„λ‘œμ„ΈμŠ€κ°€ μƒμ„±λœ 것이닀. ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ λ©€ν‹° νƒœμŠ€ν‚Ήμ„ ν•  수 μžˆλ„λ‘ λ§Œλ“€μ–΄μ§„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ„ μžˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ λ―Έλ””μ–΄ ν”Œλ ˆμ΄μ–΄λŠ” λ™μ˜μƒ μž¬μƒκ³Ό ..

    [JAVA] 기본 API 클래슀

    [JAVA] 기본 API 클래슀

    κΈ°λ³Έ API 클래슀 APIλŠ” 라이브러리라고 λΆ€λ₯΄κΈ°λ„ ν•˜λŠ”λ° ν”„λ‘œκ·Έλž¨ κ°œλ°œμ— 자주 μ‚¬μš©λ˜λŠ” 클래슀 및 μΈν„°νŽ˜μ΄μŠ€μ˜ λͺ¨μŒμ„ λ§ν•œλ‹€. 1. java.lang νŒ¨ν‚€μ§€ μžλ°” ν”„λ‘œκ·Έλž¨μ˜ 기본적인 클래슀λ₯Ό λ‹΄κ³  μžˆλŠ” νŒ¨ν‚€μ§€μ΄λ‹€. java.lang νŒ¨ν‚€μ§€μ— μžˆλŠ” ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€λŠ” import 없이 μ‚¬μš©ν•  수 μžˆλ‹€. 1) Object 클래슀 μžλ°” 클래슀의 μ΅œμƒμœ„ 클래슀둜 μ‚¬μš©λ˜λ―€λ‘œ λͺ¨λ“  ν΄λž˜μŠ€λŠ” Object 클래슀의 μžμ‹μ΄κ±°λ‚˜ μžμ† ν΄λž˜μŠ€μ΄λ‹€. μƒˆλ‘œμš΄ 클래슀λ₯Ό μ„ μ–Έν•  λ•Œ λ‹€λ₯Έ 클래슀λ₯Ό μƒμ†ν•˜μ§€ μ•Šλ”λΌλ„ μ•”μ‹œμ μœΌλ‘œ Object 클래슀λ₯Ό μƒμ†ν•˜κ²Œ λœλ‹€. Object 클래슀의 ν•„λ“œλŠ” μ‘΄μž¬ν•˜μ§€ μ•Šκ³  μƒμ„±μžμ™€ λ©”μ†Œλ“œλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. λͺ¨λ“  κ°μ²΄λŠ” Object νƒ€μž…μœΌλ‘œ μžλ™ νƒ€μž… λ³€ν™˜λ  수 있기 λ•Œλ¬Έμ— 맀개 νƒ€μž…μ„ Object..

    [JAVA] 쀑첩 ν΄λž˜μŠ€μ™€ 쀑첩 μΈν„°νŽ˜μ΄μŠ€

    쀑첩 ν΄λž˜μŠ€μ™€ 쀑첩 μΈν„°νŽ˜μ΄μŠ€ ν΄λž˜μŠ€λ“€μ€ μ„œλ‘œ κΈ΄λ°€ν•œ 관계λ₯Ό λ§Ίκ³  μƒν˜Έμž‘μš©μ„ ν•œλ‹€. ν΄λž˜μŠ€κ°€ μ—¬λŸ¬ ν΄λž˜μŠ€μ™€ 관계λ₯Ό λ§ΊλŠ” κ²½μš°μ—λŠ” λ…λ¦½μ μœΌλ‘œ μ„ μ–Έν•˜λŠ” 것이 μ’‹μœΌλ‚˜ νŠΉμ • ν΄λž˜μŠ€μ™€ 관계λ₯Ό 맺을 κ²½μš°μ—λŠ” 클래슀 내뢀에 μ„ μ–Έν•˜λŠ” 것이 μ’‹λ‹€. 1. 쀑첩 클래슀 쀑첩 ν΄λž˜μŠ€λž€ 클래슀 내뢀에 μ„ μ–Έν•œ 클래슀λ₯Ό λ§ν•œλ‹€. 쀑첩 클래슀λ₯Ό μ΄μš©ν•˜λ©΄ 두 클래슀의 멀버듀을 μ„œλ‘œ μ‰½κ²Œ μ ‘κ·Όν•  수 있고 μ™ΈλΆ€μ—λŠ” λΆˆν•„μš”ν•œ 관계 클래슀λ₯Ό 감좀으둜써 μ½”λ“œμ˜ λ³΅μž‘μ„±μ„ 쀄일 수 μžˆλ‹€. class ClassNameA { // 1. μΈμŠ€ν„΄μŠ€ 멀버 클래슀: A 객체λ₯Ό μƒμ„±ν•΄μ•Όλ§Œ μ‚¬μš©ν•  수 μžˆλŠ” B 클래슀 class NestedClassNameB { // μƒμ„±μž // μΈμŠ€ν„΄μŠ€ ν•„λ“œ, μΈμŠ€ν„΄μŠ€ λ©”μ†Œλ“œ // 정적 ν•„λ“œ, 정적 λ©”μ†Œλ“œ (λΆˆκ°€λŠ₯) } // ..

    [JAVA] 좔상 ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€

    [JAVA] 좔상 ν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€

    1. 좔상 클래슀 객체λ₯Ό 직접 생성할 수 μžˆλŠ” 클래슀λ₯Ό 싀체 클래슀라 ν•œλ‹€λ©΄ 이 ν΄λž˜μŠ€λ“€μ˜ 곡톡적인 νŠΉμ„±μ„ μΆ”μΆœν•΄μ„œ μ„ μ–Έν•œ 클래슀λ₯Ό 좔상 클래슀라 ν•œλ‹€. 좔상 ν΄λž˜μŠ€μ™€ 싀체 ν΄λž˜μŠ€λŠ” μƒμ†μ˜ 관계λ₯Ό 가지고 μžˆλ‹€. 좔상 ν΄λž˜μŠ€κ°€ λΆ€λͺ¨, 싀체 ν΄λž˜μŠ€κ°€ μžμ‹μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄ 싀체 ν΄λž˜μŠ€λŠ” 좔상 클래슀의 λͺ¨λ“  νŠΉμ„±μ„ λ¬Όλ €λ°›κ³  좔가적인 νŠΉμ„±μ„ κ°€μ§ˆ 수 μžˆλ‹€. κ³΅ν†΅λœ ν•„λ“œμ™€ λ©”μ„œλ“œμ˜ 이름을 톡일할 λͺ©μ  싀체 클래슀λ₯Ό μž‘μ„±ν•  λ•Œ μ‹œκ°„ μ ˆμ•½: 곡톡적인 νŠΉμ„±μ€ 좔상 ν΄λž˜μŠ€μ— μ„ μ–Έν•˜κ³  λ‹€λ₯Έ 점만 싀체 ν΄λž˜μŠ€μ— μ„ μ–Έν•œλ‹€. 1) 좔상 클래슀 μ„ μ–Έ new μ—°μ‚°μžλ₯Ό μ΄μš©ν•΄μ„œ 객체λ₯Ό λ§Œλ“€μ§€ λͺ»ν•˜κ³  상속을 톡해 μžμ‹ 클래슀만 λ§Œλ“€ 수 μžˆλ‹€. 일반 ν΄λž˜μŠ€μ™€ λ™μΌν•˜κ²Œ ν•„λ“œ, μƒμ„±μž, λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•  수 μžˆλ‹€. μžμ‹ 객체가 생성될 λ•Œ supe..

    [JAVA] 상속

    상속 1. 상속 상속은 λΆ€λͺ¨κ°€ μžμ‹μ—κ²Œ λ¬Όλ €μ£ΌλŠ” ν–‰μœ„λ₯Ό λ§ν•œλ‹€. μžμ‹μ€ 상속을 ν†΅ν•΄μ„œ λΆ€λͺ¨κ°€ λ¬Όλ €μ€€ 것을 μžμ—°μŠ€λŸ½κ²Œ μ΄μš©ν•  수 μžˆλ‹€. 이미 잘 개발된 클래슀λ₯Ό μž¬μ‚¬μš©ν•΄μ„œ μƒˆλ‘œμš΄ 클래슀λ₯Ό λ§Œλ“€κΈ° λ•Œλ¬Έμ— μ€‘λ³΅λ˜λŠ” μ½”λ“œλ₯Ό 쀄여쀀닀. λΆ€λͺ¨ 클래슀의 μˆ˜μ •μœΌλ‘œ λͺ¨λ“  μžμ‹ ν΄λž˜μŠ€λ“€λ„ μˆ˜μ •λ˜λŠ” 효과λ₯Ό κ°€μ Έμ˜€κΈ° λ•Œλ¬Έμ— μœ μ§€ 보수 μ‹œκ°„μ„ μ΅œμ†Œν™”ν•œλ‹€. 1) 클래슀 상속 μžμ‹ 클래슀λ₯Ό μ„ μ–Έν•  λ•Œ μ–΄λ–€ λΆ€λͺ¨ 클래슀λ₯Ό 상속받을 것인지 λͺ…μ‹œν•œλ‹€. μ—¬λŸ¬ 개의 λΆ€λͺ¨ 클래슀λ₯Ό 상속할 수 μ—†λ‹€. μ ‘κ·Ό μ œν•œμžμ— 따라 상속 λŒ€μƒ ν•„λ“œμ™€ λ©”μ„œλ“œκ°€ 달라진닀. class μžμ‹ν΄λž˜μŠ€ extends λΆ€λͺ¨ν΄λž˜μŠ€ { // ν•„λ“œ // μƒμ„±μž // λ©”μ†Œλ“œ } 2) λΆ€λͺ¨ μƒμ„±μž 호좜 μžμ‹ 객체λ₯Ό μƒμ„±ν•˜λ©΄ λΆ€λͺ¨ 객체가 λ¨Όμ € μƒμ„±λ˜κ³  κ·Έλ‹€μŒμ— μžμ‹ 객체가 μƒμ„±λœ..

    [JAVA] 클래슀

    [JAVA] 클래슀

    클래슀 1. 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° κ°μ²΄λž€ 물리적으둜 μ‘΄μž¬ν•˜κ±°λ‚˜ μΆ”μƒμ μœΌλ‘œ 생각할 수 μžˆλŠ” 것 μ€‘μ—μ„œ μžμ‹ μ˜ 속성을 κ°–κ³  μžˆμœΌλ©΄μ„œ 식별 κ°€λŠ₯ν•œ κ²ƒμœΌλ‘œ 속성과 λ™μž‘μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ 있고 μžλ°”μ—μ„œλŠ” 각각 ν•„λ“œμ™€ λ©”μ„œλ“œλΌκ³  λΆ€λ₯Έλ‹€. 객체듀은 각각 λ…λ¦½μ μœΌλ‘œ μ‘΄μž¬ν•˜κ³  λ‹€λ₯Έ 객체와 μ„œλ‘œ μƒν˜Έμž‘μš©ν•˜λ©΄μ„œ λ™μž‘ν•˜λŠ”λ° μƒν˜Έμž‘μš© μˆ˜λ‹¨μ€ λ©”μ„œλ“œμ΄λ‹€. 객체의 μƒν˜Έμž‘μš©μ€ 객체 κ°„μ˜ λ©”μ„œλ“œ ν˜ΈμΆœμ„ μ˜λ―Έν•˜λ©° 맀개 κ°’κ³Ό 리턴 값을 ν†΅ν•΄μ„œ 데이터λ₯Ό μ£Όκ³ λ°›λŠ”λ‹€. κ°μ²΄λŠ” κ°œλ³„μ μœΌλ‘œ μ‚¬μš©λ  수 μžˆμ§€λ§Œ λŒ€λΆ€λΆ„ λ‹€λ₯Έ 객체와 관계λ₯Ό λ§Ίκ³  μžˆλ‹€. 집합 관계: κ°μ²΄λŠ” ν•˜λ‚˜μ˜ λΆ€ν’ˆμ΄κ³  ν•˜λ‚˜λŠ” μ™„μ„±ν’ˆμ— ν•΄λ‹Ήν•œλ‹€. μ‚¬μš© 관계: 객체 κ°„μ˜ μƒν˜Έμž‘μš©μœΌλ‘œ λ‹€λ₯Έ 객체의 λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό μ–»μ–΄λ‚Έλ‹€. 상속 관계: μƒμœ„(λΆ€λͺ¨) 객체λ₯Ό 기반으둜 ν•˜μœ„(μžμ‹) ..