λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Programming/Java, Kotlin

(12)
μžλ°”[Java] μΈν„°νŽ˜μ΄μŠ€[Interface] μ‚¬μš©κ³Ό 이유 β–Ά μΈν„°νŽ˜μ΄μŠ€(Interface) λž€? μžλ°”μ—μ„œ μ œκ³΅ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λž€, 좔상 ν΄λž˜μŠ€μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ μΆ”μƒλœ 틀을 λ§Œλ“€μ–΄ κ°œλ°œμ— ν˜Όμ„ μ΄ μ—†κ²Œλ” λ„μ™€μ£ΌλŠ” 역할을 ν•˜λŠ” 객체이닀. ν˜‘μ—…μ„ ν•˜λŠ” κ°œλ°œμžλ“€λΌλ¦¬μ˜ μ›ν™œν•œ μ˜μ‚¬μ†Œν†΅μ„ μœ„ν•΄μ„œ μƒμ„±λœ κ°œλ…μœΌλ‘œ μΈν„°νŽ˜μ΄μŠ€λΌλŠ” 이름을 κ°€μ§€λŠ” 것 κ°™λ‹€. β–Ά 좔상 ν΄λž˜μŠ€μ™€ 무엇이 λ‹€λ₯ΌκΉŒ? 좔상 ν΄λž˜μŠ€λŠ” 트리 ν˜•μ‹μœΌλ‘œ μƒμœ„ ν΄λž˜μŠ€μ™€ ν•˜μœ„ 클래슀둜 λ‚˜λ‰˜μ–΄μ§€λŠ” 트리 ꡬ쑰이닀. ν•˜μœ„ ν΄λž˜μŠ€λŠ” μƒμœ„ ν΄λž˜μŠ€μ—μ„œ μΆ”μƒν™”μ‹œν‚¨ μƒμ„±μž ν˜Ήμ€ λ©”μ„œλ“œλ₯Ό μ •μ˜ν•˜λ©΄μ„œ 더 κ΅¬μ²΄ν™”λ˜μ–΄κ°„λ‹€. λ°˜λ©΄μ—, μΈν„°νŽ˜μ΄μŠ€λŠ” 트리 ꡬ쑰와 같은 수직적 ꡬ쑰가 μ•„λ‹Œ μˆ˜ν‰μ  ꡬ쑰λ₯Ό κ°€μ§€κ²Œ λœλ‹€. 수직적 ꡬ쑰λ₯Ό κ°–λŠ” 좔상 ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μƒμœ„ ν΄λž˜μŠ€μ—κ²Œλ§Œ 상속받을 수 μžˆμ§€λ§Œ, μˆ˜ν‰μ  ꡬ쑰의 μΈν„°νŽ˜μ΄μŠ€λŠ” ν•˜λ‚˜μ˜ ν΄λž˜μŠ€κ°€ μ—¬λŸ¬ μΈν„°νŽ˜μ΄..
μžλ°”[Java] μ ‘κ·Ό μ œμ–΄μž[Access modifier] μžλ°”μ˜ μ ‘κ·Ό μ œμ–΄μž default / public(package) / private / protected / static / final β–Ά default(package) κ°€μž₯ 기본적인 μ ‘κ·Ό μ œμ–΄μžλ‘œ μƒλž΅μ΄ κ°€λŠ₯ν•˜λ‹€. => μ ‘κ·Ό μ œμ–΄μžλ₯Ό μƒλž΅ν•˜λ©΄ default둜 μ„€μ •λœλ‹€. defaultλŠ” 같은 νŒ¨ν‚€μ§€ 내에 μžˆλŠ” class라면 접근이 κ°€λŠ₯ν•˜λ‹€. 1번 νŒ¨ν‚€μ§€μ— 1번 클래슀λ₯Ό μ •μ˜ν•˜μ˜€λ‹€. 2번 νŒ¨ν‚€μ§€λ₯Ό λ§Œλ“€κ³  2번 클래슀λ₯Ό λ§Œλ“€κ³  2번 ν΄λž˜μŠ€μ— 1번 클래슀λ₯Ό 뢈러였기(import)λ₯Ό ν–ˆμ„ λ•Œ, 였λ₯˜ λ°œμƒ => 같은 νŒ¨ν‚€μ§€ μ•ˆμ—μ„œλ§Œ 뢈러였기 κ°€λŠ₯ β–Ά public μ΄λ¦„μ²˜λŸΌ μ–΄λ””μ„œλ“  뢈러올 수 μžˆλ‹€. λ‹€λ₯Έ νŒ¨ν‚€μ§€ μ•ˆμ˜ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œλ„ λΆˆλŸ¬μ™€ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. testPackage1 νŒ¨ν‚€μ§€μ— μžˆλŠ” TestClass2 ..
μžλ°”(Java) μ‚¬μš©μž μž…/좜λ ₯κ³Ό 버퍼(butter) ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜λ‹€ 보면 μ‚¬μš©μž μž…λ ₯을 λ°›λŠ” κ²½μš°κ°€ λ§Žλ‹€. cμ–Έμ–΄λ‚˜ java의 경우 μ‚¬μš©μž μž…λ ₯을 받을 λ•Œ, 버퍼(buffer)λΌλŠ” 녀석에 값을 μž„μ‹œλ‘œ μ €μž₯ν•΄λ‘μ—ˆλ‹€κ°€ ν•œλ²ˆμ— λ³€μˆ˜μ— μ €μž₯ν•˜λŠ”λ° μˆ«μžμ™€ λ¬Έμžκ°€ λ‹€λ₯΄κ²Œ λ™μž‘ν•΄μ„œ μ΄μƒν•œ μ˜λ„ν•œ 바와 λ‹€λ₯΄κ²Œ λ˜κΈ°λ„ ν•œλ‹€. β–Ά 버퍼(buffer)의 이해 일단, μ™œ λ²„νΌλΌλŠ” 것이 μ‘΄μž¬ν•˜λŠ”μ§€λΆ€ν„° μ•Œμ•„μ•Όν•  것 κ°™λ‹€. 컴퓨터에 따라 λ‹€λ₯΄κ² μ§€λ§Œ 일반적인 컴퓨터(κ°€μ •μš©)λŠ” 1μ΄ˆμ— μ•½ 8천 ~ 1μ–΅ 번 μ •λ„μ˜ 연산을 μ²˜λ¦¬ν•  수 μžˆλ‹€κ³  ν•œλ‹€. λ§Œμ•½, 컴퓨터가 μ‚¬μš©μžμ—κ²Œ 정보λ₯Ό μž…λ ₯ λ°›μ•„μ•Όν•  λ•Œ, μš°λ¦¬κ°€ 정보λ₯Ό λͺ¨λ‘ μž…λ ₯ν•˜κΈ°λ₯Ό κΈ°λ‹€λ €μ•Ό ν•œλ‹€λ©΄, μš°λ¦¬κ°€ 1 / 1μ–΅ 초 μ•ˆμ— ν•˜λ‚˜μ˜ 값을 μž…λ ₯ν•˜μ§€ μ•ŠλŠ” ν•œ μ»΄ν“¨ν„°λŠ” κ·Έλ™μ•ˆ 계속 λŒ€κΈ°ν•˜κ³  μžˆμ–΄μ•Ό ν•œλ‹€. CPUμž…μž₯μ—μ„œλŠ” μ†ν„°μ§€λŠ” 일이 아닐..
0000~1111 μžλ°”(JAVA) 데이터 νƒ€μž… 크기와 ν˜•λ³€ν™˜μ— λŒ€ν•΄μ„œ... μ΅œκ·Όμ— μžλ°”(JAVA)λ₯Ό 배우고 μžˆμŠ΅λ‹ˆλ‹€. 기계과λ₯Ό μ „κ³΅ν•˜κ³  λ°˜λ„μ²΄ μ‚°μ—…μ—μ„œ μΌν–ˆμ—ˆκΈ° λ•Œλ¬ΈμΈμ§€ κΈ°λ³Έ CS지식에 λŒ€ν•΄μ„œ 배울 λ•Œ, ν•˜λ“œμ›¨μ–΄μ™€ κ΄€λ ¨λœ 뢀뢄이 μƒλ‹Ήνžˆ ν₯λ―Έλ‘œμ› μŠ΅λ‹ˆλ‹€. ν•˜λ“œμ›¨μ–΄λ³΄λ‹€ μ†Œν”„νŠΈμ›¨μ–΄κ°€ ν•˜κ³ μ‹Άμ–΄μ„œ λ„˜μ–΄μ™”λŠ”λ° μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ°°μš°λ©΄μ„œ ν•˜λ“œμ›¨μ–΄μ— 관심이 κ°€λŠ” μ‹¬λ³΄λž€... β–Ά 데이터 νƒ€μž…κ³Ό λ©”λͺ¨λ¦¬ λŒ€λΆ€λΆ„ λΉ„μŠ·ν•˜κ² μ§€λ§Œ μžλ°”μ—μ„œ 숫자 데이터 νƒ€μž…μ€ μ •μˆ˜μ™€ μ‹€μˆ˜λ‘œ λ‚˜λ‰˜λŠ”λ° 데이터 νƒ€μž…(λ©”λͺ¨λ¦¬μ— μ €μž₯λ˜λŠ” 크기)으둜 ν‘œν˜„ν•˜μžλ©΄ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€. μ •μˆ˜ νƒ€μž… : byte(1 byte), char(2 byte), short(2 byte), int(4 byte), long(8 byte) μ‹€μˆ˜ νƒ€μž… : float(4 byte), double(8 byte) 의미λ₯Ό μ•Œμ•„λ³Ό λ•Œ, μ •μˆ˜λ‘œ λΉ„κ΅ν•˜λ©΄ μ΄ν•΄ν•˜κΈ°κ°€ μ‰½μŠ΅λ‹ˆλ‹€. λ¨Ό..

728x90