λͺ©λ‘λΆ„λ₯˜ 전체보기 (208)

πŸ’»

Java ν”„λ‘œκ·Έλž˜λ° - μΈν„°νŽ˜μ΄μŠ€(interface), μ ‘κ·Όμ œν•œμž(public, private, protected, default)

μΈν„°νŽ˜μ΄μŠ€(interface) : μΈν„°νŽ˜μ΄μŠ€λž€? μΌμ’…μ˜ μΆ”μƒν΄λž˜μŠ€μ΄λ‹€. μΈν„°νŽ˜μ΄μŠ€λŠ” μΆ”μƒν΄λž˜μŠ€μ²˜λŸΌ μΆ”μƒλ©”μ„œλ“œλ₯Ό κ°–μ§€λ§Œ μΆ”μƒν΄λž˜μŠ€λ³΄λ‹€ 좔상화 정도가 λ†’μ•„μ„œ μΆ”μƒν΄λž˜μŠ€μ™€ 달리 λͺΈν†΅μ„ κ°–μΆ˜ 일반 λ©”μ„œλ“œ λ˜λŠ” λ©€λ²„λ³€μˆ˜λ₯Ό κ΅¬μ„±μ›μœΌλ‘œ κ°€μ§ˆ 수 μ—†λ‹€. 였직 μΆ”μƒλ©”μ„œλ“œμ™€ μƒμˆ˜λ§Œμ„ λ©€λ²„λ‘œ κ°€μ§ˆ 수 있으며, κ·Έ μ™Έμ˜ λ‹€λ₯Έ μ–΄λ– ν•œ μš”μ†Œλ„ ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. μΆ”μƒν΄λž˜μŠ€λ₯Ό λΆ€λΆ„μ μœΌλ‘œλ§Œ μ™„μ„±λœ 'λ―Έμ™„μ„± 섀계도' 라고 ν•œλ‹€λ©΄, μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬ν˜„λœ 것은 아무 것도 μ—†κ³  λ°‘κ·Έλ¦Όλ§Œ κ·Έλ €μ Έ μžˆλŠ” 'κΈ°λ³Έ 섀계도' 라고 ν•  수 μžˆλ‹€. - μžλ°”μ—μ„œ μΈν„°νŽ˜μ΄μŠ€λŠ” 객체의 μ‚¬μš© 방법을 μ •μ˜ν•œ νƒ€μž…μ΄λ‹€. - 객체의 κ΅ν™˜μ„±μ„ λ†’μ—¬μ£ΌκΈ° λ•Œλ¬Έμ— λ‹€ν˜•μ„±μ„ κ΅¬ν˜„ν•˜λŠ” μ€‘μš”ν•œ 역할을 ν•œλ‹€. - (ν΄λž˜μŠ€λŠ” ν•„λ“œ, μƒμ„±μž, λ©”μ†Œλ“œλ₯Ό ꡬ성 λ©€λ²„λ‘œ κ°€μ§€λŠ”λ°) μΈν„°νŽ˜μ΄μŠ€λŠ”..

KITRI/JAVA 2020. 5. 8. 13:43
Java ν”„λ‘œκ·Έλž˜λ° - μΆ”μƒν΄λž˜μŠ€(abstract)

abstract 이 μ‚¬μš©λ  수 μžˆλŠ” κ³³ - 클래슀, λ©”μ„œλ“œ 객체λ₯Ό 직접 생성할 수 μžˆλŠ” 클래슀λ₯Ό 싀체 클래슀라고 ν•œλ‹€λ©΄ 이 ν΄λž˜μŠ€λ“€μ˜ 곡톡적인 νŠΉμ„±μ„ μΆ”μΆœν•΄μ„œ μ„ μ–Έν•œ 클래슀λ₯Ό 좔상 클래슀라고 ν•œλ‹€. μΆ”μƒν΄λž˜μŠ€μ™€ 싀체 ν΄λž˜μŠ€λŠ” μƒμ†μ˜ 관계λ₯Ό 가지고 μžˆλ‹€. μΆ”μƒν΄λž˜μŠ€κ°€ λΆ€λͺ¨μ΄κ³  싀체 ν΄λž˜μŠ€κ°€ μžμ‹μœΌλ‘œ κ΅¬ν˜„λ˜μ–΄ 싀체 ν΄λž˜μŠ€λŠ” 좔상 클래슀의 λͺ¨λ“  νŠΉμ„±μ„ λ¬Όλ €λ°›κ³ , 좔가적인 νŠΉμ„±μ„ κ°€μ§ˆ 수 μžˆλ‹€. μ—¬κΈ°μ„œ νŠΉμ„±μ΄λž€ ν•„λ“œμ™€ λ©”μ†Œλ“œλ₯Ό λ§ν•œλ‹€. 좔상 클래슀λ₯Ό λ§Œλ“œλŠ” 이유? 1) 싀체 ν΄λž˜μŠ€λ“€μ˜ κ³΅ν†΅λœ ν•„λ“œμ™€ λ©”μ†Œλ“œμ˜ 이름을 톡일할 λͺ©μ  2) 싀체 클래슀λ₯Ό μž‘μ„±ν•  λ•Œ μ‹œκ°„μ„ μ ˆμ•½ λΆ€λͺ¨ν΄λž˜μŠ€μ—μ„œ μ •μ˜λ§Œ ν•˜κ³  κ΅¬ν˜„ν•˜μ§€ μ•ŠλŠ”λ‹€. μžμ‹ν΄λž˜μŠ€μ—μ„œ ν•¨μˆ˜μž¬μ •μ˜ ν•΄μ€€λ‹€.(λ°˜κ°•μ œ) μΆ”μƒν•¨μˆ˜λ₯Ό ν•˜λ‚˜λΌλ„ 가지고 있으면 μΆ”μƒν΄λž˜μŠ€λ‘œ ν‘œμ‹œν•΄μ•Όν•œ..

KITRI/JAVA 2020. 5. 8. 10:56
Java ν”„λ‘œκ·Έλž˜λ° - 상속(inheritance) / λ©”μ†Œλ“œ μž¬μ •μ˜(μ˜€λ²„λΌμ΄λ”© Overriding)

클래슀의 νŠΉμ§• 3가지 β‘  은닉화 -> public 보닀 privateλ₯Ό μ‚¬μš©ν•œλ‹€. β‘‘ 쀑볡성 -> 쀑볡 (ν•¨μˆ˜μ€‘λ³΅/μƒμ„±μžμ€‘λ³΅) β‘’ 상속성 -> λΆ€λͺ¨ν΄λž˜μŠ€μ˜ 멀버λ₯Ό μžμ‹μ—κ²Œ λ¬Όλ €μ€€λ‹€. μžλ°”μ—μ„œ λ§Œλ“€μ–΄μ§„ λͺ¨λ“  ν΄λž˜μŠ€λŠ” Object 클래슀λ₯Ό μƒμ†λ°›λŠ”λ‹€. μžλ°”λŠ” 닀쀑 상속을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. 즉, μ—¬λŸ¬ 개의 λΆ€λͺ¨ν΄λž˜μŠ€λ₯Ό 상속할 수 μ—†μœΌλ―€λ‘œ extends λ’€μ—λŠ” ν•˜λ‚˜μ˜ λΆ€λͺ¨ν΄λž˜μŠ€λ§Œ μ™€μ•Όν•œλ‹€. 상속 : μƒμ†μ΄λž€? 기쑴의 클래슀λ₯Ό μž¬μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ 클래슀λ₯Ό μž‘μ„±ν•˜λŠ” 것이닀. 상속을 ν†΅ν•΄μ„œ 클래슀λ₯Ό μž‘μ„±ν•˜λ©΄ 적은 μ–‘μ˜ μ½”λ“œλ‘œ μƒˆλ‘œμš΄ 클래슀λ₯Ό μž‘μ„±ν•  수 있고 μ½”λ“œλ₯Ό κ³΅ν†΅μ μœΌλ‘œ 관리할 수 있기 λ•Œλ¬Έμ— μ½”λ“œμ˜ μΆ”κ°€ 및 변경이 μš©μ΄ν•˜λ‹€. μ΄λŸ¬ν•œ νŠΉμ§•μ€ μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„ 높이고 μ½”λ“œμ˜ 쀑볡을 μ œκ±°ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ˜ 생산성과 μœ μ§€λ³΄..

KITRI/JAVA 2020. 5. 7. 10:05
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] [1μ°¨] λ‹€νŠΈ κ²Œμž„

문제 μ„€λͺ… λ‹€νŠΈ κ²Œμž„ μΉ΄μΉ΄μ˜€ν†‘μ— 뜬 λ„€ 번째 별! 심심할 땐? μΉ΄μΉ΄μ˜€ν†‘ κ²Œμž„λ³„~ μΉ΄μΉ΄μ˜€ν†‘ κ²Œμž„λ³„μ˜ ν•˜λ°˜κΈ° μ‹ κ·œ μ„œλΉ„μŠ€λ‘œ λ‹€νŠΈ κ²Œμž„μ„ μΆœμ‹œν•˜κΈ°λ‘œ ν–ˆλ‹€. λ‹€νŠΈ κ²Œμž„μ€ λ‹€νŠΈνŒμ— λ‹€νŠΈλ₯Ό μ„Έ μ°¨λ‘€ 던져 κ·Έ 점수의 ν•©κ³„λ‘œ μ‹€λ ₯을 κ²¨λ£¨λŠ” κ²Œμž„μœΌλ‘œ, λͺ¨λ‘κ°€ κ°„λ‹¨νžˆ 즐길 수 μžˆλ‹€. κ°“ μž…μ‚¬ν•œ λ¬΄μ§€λŠ” μ½”λ”© μ‹€λ ₯을 인정받아 κ²Œμž„μ˜ 핡심 뢀뢄인 점수 계산 λ‘œμ§μ„ 맑게 λ˜μ—ˆλ‹€. λ‹€νŠΈ κ²Œμž„μ˜ 점수 계산 λ‘œμ§μ€ μ•„λž˜μ™€ κ°™λ‹€. λ‹€νŠΈ κ²Œμž„μ€ 총 3번의 기회둜 κ΅¬μ„±λœλ‹€. 각 κΈ°νšŒλ§ˆλ‹€ 얻을 수 μžˆλŠ” μ μˆ˜λŠ” 0μ μ—μ„œ 10μ κΉŒμ§€μ΄λ‹€. μ μˆ˜μ™€ ν•¨κ»˜ Single(S), Double(D), Triple(T) μ˜μ—­μ΄ μ‘΄μž¬ν•˜κ³  각 μ˜μ—­ 당첨 μ‹œ μ μˆ˜μ—μ„œ 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으둜 κ³„μ‚°λœλ‹€. μ˜΅μ…˜μœΌλ‘œ μŠ€νƒ€μƒ(*) ,..

Java ν”„λ‘œκ·Έλž˜λ° - μƒμ„±μž 쀑볡(Overloading), λ‹€λ₯Έ μƒμ„±μž 호좜(this()), μ§€μ •μ˜ˆμ•½μ–΄(static/ final/ static final)

μƒμ„±μž 쀑볡 : λ§€κ°œλ³€μˆ˜λ₯Ό λ‹¬λ¦¬ν•˜λŠ” μƒμ„±μžλ₯Ό μ—¬λŸ¬ 개 μ„ μ–Έν•˜λŠ” 것 λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…κ³Ό 개수 그리고 μ„ μ–Έλœ μˆœμ„œκ°€ λ˜‘κ°™μ„ 경우 λ§€κ°œλ³€μˆ˜ μ΄λ¦„λ§Œ λ°”κΎΌλŠ” 것은 μƒμ„±μž μ˜€λ²„λ‘œλ”©μ΄ μ•„λ‹ˆλ‹€. λ‹€λ₯Έ μƒμ„±μž 호좜(this()) : μƒμ„±μžμ—μ„œ λ‹€λ₯Έ μƒμ„±μžλ₯Ό ν˜ΈμΆœν• λ•ŒλŠ” this() λ₯Ό μ‚¬μš©ν•œλ‹€. μƒμ„±μž μ˜€λ²„λ‘œλ”©μ΄ λ§Žμ•„μ§ˆ 경우 μƒμ„±μž κ°„μ˜ μ€‘λ³΅λœ μ½”λ“œκ°€ λ°œμƒν•  수 μžˆλ‹€. 맀개 λ³€μˆ˜μ˜ 수만 λ‹¬λ¦¬ν•˜κ³  ν•„λ“œ μ΄ˆκΈ°ν™” λ‚΄μš©μ΄ λΉ„μŠ·ν•œ μƒμ„±μžμ—μ„œ μ΄λŸ¬ν•œ ν˜„μƒμ„ λ³Ό 수 μžˆλ‹€. 이 κ²½μš°μ—λŠ” ν•„λ“œ μ΄ˆκΈ°ν™” λ‚΄μš©μ€ ν•œ μƒμ„±μžμ—λ§Œ μ§‘μ€‘μ μœΌλ‘œ μž‘μ„±ν•˜κ³  λ‚˜λ¨Έμ§€ μƒμ„±μžλŠ” μ΄ˆκΈ°ν™” λ‚΄μš©μ„ 가지고 μžˆλŠ” μƒμ„±μžλ₯Ό ν˜ΈμΆœν•˜λŠ” λ°©λ²•μœΌλ‘œ κ°œμ„ ν•  수 μžˆλ‹€. 쀑볡 μ½”λ“œλ₯Ό μ΅œμ†Œν™”ν•œλ‹€. 쑰건 1) λ°˜λ“œμ‹œ μƒμ„±μžμ˜ 첫 μ€„μ—μ„œλ§Œ ν—ˆμš©λœλ‹€. 2) μƒμ„±μžμ˜ μ΄λ¦„μœΌλ‘œ ν΄λž˜μŠ€μ΄λ¦„ λŒ€μ‹ ..

KITRI/JAVA 2020. 5. 6. 16:33