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

Study/Java91

[TIL] μ—λ„ˆν…Œμ΄μ…˜ πŸ’ͺ🏻 μ—λ„ˆν…Œμ΄μ…˜ Annotation - μ†ŒμŠ€ μ½”λ“œμ— μ•„λ¬΄λŸ° 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ” 주석과 같은 κΈ°λŠ₯ μˆ˜ν–‰ - 각 κΈ°λŠ₯에 ν•„μš”ν•œ 만큼 λ§Žμ€ κΈ°λŠ₯을 λ‚΄ν¬ν•˜κ³  있음 - 잘 μ•Œμ§€ λͺ»ν•΄λ„ ν•„μš”ν•œ κΈ°λŠ₯만 μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 제곡 πŸ’‘ 주석과 μ• λ„ˆν…Œμ΄μ…˜μ˜ 차이 - 주석 : μ½”λ“œλ₯Ό μ½λŠ” μ‚¬λžŒμ—κ²Œ 정보 제곡 (//) - μ• λ„ˆν…Œμ΄μ…˜ : ν”„λ‘œκ·Έλž¨μ—κ²Œ 정보 제곡 (@) πŸ“ μ• λ„ˆν…Œμ΄μ…˜ μš©λ„ (1) μ»΄νŒŒμΌλŸ¬μ—κ²Œ 문법 μ—λŸ¬λ₯Ό μ²΄ν¬ν•˜λ„λ‘ 정보 제곡 (2) ν”„λ‘œκ·Έλž¨ λΉŒλ“œ μ‹œ, μ½”λ“œ μžλ™ 생성 κ°€λŠ₯ν•˜λ„λ‘ 정보 제곡 (3) λŸ°νƒ€μž„μ— νŠΉμ • κΈ°λŠ₯ μ‹€ν–‰ν•˜λ„λ‘ 정보 제곡 πŸ“ μ• λ„ˆν…Œμ΄μ…˜ μ’…λ₯˜ 1️⃣ ν‘œμ€€ μ• λ„ˆν…Œμ΄μ…˜ : μžλ°”μ—μ„œ 기본적으둜 제곡 @Override - μ»΄νŒŒμΌλŸ¬μ—κ²Œ μ˜€λ²„λΌμ΄λ”©ν•¨μ„ μ•Œλ¦Ό - λ©”μ„œλ“œ μ•žμ—λ§Œ λΆ™λŠ” μ• λ„ˆν…Œμ΄μ…˜ - μƒμœ„ 클래슀의 .. 2022. 5. 18.
[TIL] enum ☝🏻 enum μ—΄κ±°ν˜• - μ„œλ‘œ μ—°κ΄€λœ μƒμˆ˜λ“€μ˜ μ§‘ν•© - μ„œλ‘œ 관련이 μžˆλŠ” 것듀을 λͺ¨μ•„μ„œ 그것듀에 번호λ₯Ό 맀겨 놓은 것 (1) 뢄식 : 떑볢이, νŠ€κΉ€, κΉ€λ°₯, μˆœλŒ€ (2) 곡뢀 : 곡책, μ—°ν•„, 볼펜, ν˜•κ΄‘νŽœ, μ§€μš°κ°œ, 샀프 (3) 개발자 : κ°•μ‹œν˜, μ΄ν˜„μ„, 홍민정 πŸ“ enum μž₯점 (1) μƒμˆ˜λͺ…μ˜ 쀑볡 ν”Όν•  수 있음 (2) νƒ€μž… μ•ˆμ •μ„± 보μž₯ (3) μ½”λ“œ 가독성 μƒμŠΉ (4) switchλ¬Έ μ‚¬μš© κ°€λŠ₯ πŸ“ enum μ—΄κ±°ν˜• μ‚¬μš© enum μ—΄κ±°ν˜•μ΄λ¦„ { μƒμˆ˜λͺ…, μƒμˆ˜λͺ…2, ... } enum Developer { KANGJAMES, LEEJAMES, HONG } - μƒμˆ˜λŠ” λŒ€λ¬Έμžλ‘œ μž‘μ„±ν•˜λŠ” 것 μΆ”μ²œ (1) μ°Έμ‘° 방법 μ—΄κ±°ν˜•μ΄λ¦„.μƒμˆ˜λͺ… Developer.HONG (2) λ³€μˆ˜ ν• λ‹Ή κ°€λŠ₯ Developer bestd.. 2022. 5. 18.
[TIL] λ‚΄λΆ€ 클래슀 🫢🏻 λ‚΄λΆ€ 클래슀 Inner Class - 클래슀 내에 μ„ μ–Έλœ 클래슀 - ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ ν΄λž˜μŠ€μ— ν¬ν•¨ν•˜λŠ” 경우 내뢀에 ν¬ν•¨λœ 클래슀 - 파일 크기 μ΅œμ†Œν™”, λ³΄μ•ˆ, μ„±λŠ₯ ν–₯상, 이벀트 처리 등을 μ‰½κ²Œ ν•˜κΈ° μœ„ν•΄ μ‚¬μš© (1) λ‚΄λΆ€ ν΄λž˜μŠ€μ—μ„œ μ™ΈλΆ€ 클래슀 멀버에 μ‰½κ²Œ μ ‘κ·Ό κ°€λŠ₯ (2) μ½”λ“œ λ³΅μž‘μ„± 쀄일 수 있음 class Outer { class Inner { } } πŸ“ λ‚΄λΆ€ν΄λž˜μŠ€ ' 멀버 클래슀 ' - 멀버 ν΄λž˜μŠ€λŠ” 멀버 λ³€μˆ˜μ™€ λ™μΌν•œ μœ„μΉ˜μ— μ„ μ–Έλœ λ‚΄λΆ€ 클래슀 - 멀버 ν΄λž˜μŠ€λŠ” static이 λΆ™λŠ” static 멀버와 λΆ™μ§€ μ•ŠλŠ” instance λ©€λ²„λ‘œ λ‚˜λ‰¨ - 동일 클래슀 뿐 μ•„λ‹ˆλΌ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œλ„ ν™œμš© κ°€λŠ₯ (1) μΈμŠ€ν„΄μŠ€ λ‚΄λΆ€ 클래슀 instance inner class - μ™ΈλΆ€ 클래슀의 멀버와 λ™μΌν•œ.. 2022. 5. 18.
[TIL] 자료ꡬ쑰 πŸ‘‰πŸ» 이듀을 μ‰½κ²Œ ν™œμš©ν•˜κΈ° μœ„ν•΄ CollectionsμΈν„°νŽ˜μ΄μŠ€ μ‚¬μš© 및 Collection Framework둜 κ΅¬ν˜„ 2022. 5. 18.
[TIL] Map<K, V> πŸ‘‹πŸ» Map - ν‚€(Key)와 κ°’(Value)으둜 κ΅¬μ„±λœ 객체λ₯Ό μ €μž₯ν•˜λŠ” ꡬ쑰 - μ–΄λ–€ 두 데이터λ₯Ό μ—°κ²°(λ§€ν•‘) - ν‚€λŠ” 쀑볡 x = 고유 ν•˜λ©° 값은 쀑볡 μ €μž₯ κ°€λŠ₯ - HashMap, Hashtable, TreeMap, SortedMap λ“± -ListλŠ” 인덱슀 κΈ°μ€€, Map은 ν‚€λ₯Ό κΈ°μ€€μœΌλ‘œ 객체 관리 (1) 객체 μΆ”κ°€ Put - μ£Όμ–΄μ§„ ν‚€λ‘œ 값을 μ €μž₯ - put(object key, object value) (2) 객체 검색 containsKey / containsValue - μ£Όμ–΄μ§„ ν‚€κ°€ 있으면 true, μ—†μœΌλ©΄ false 리턴 : containsKey(object key) - μ£Όμ–΄μ§„ 값이 있으면 true, μ—†μœΌλ©΄ false 리턴 : containsValue(object value) (3) 객체λ₯Ό S.. 2022. 5. 18.
[TIL] Set<E> πŸ™πŸ» Set (1) μš”μ†Œμ˜ μ €μž₯ μˆœμ„œλ₯Ό μœ μ§€ν•˜μ§€ μ•ŠμŒ (2) 같은 μš”μ†Œμ˜ 쀑볡 μ €μž₯을 ν—ˆμš©ν•˜μ§€ μ•ŠμŒ - 쀑볡 x, μˆœμ„œ x 인 μ§‘ν•© πŸ‘πŸ» HashSet - ν•΄μ‹œ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ 검색 속도 맀우 빠름 - HashMap μΈμŠ€ν„΄μŠ€λ₯Ό μ΄μš©ν•˜μ—¬ μš”μ†Œλ₯Ό μ €μž₯ - Set을 κ΅¬ν˜„ν•˜λ―€λ‘œ μˆœμ„œ 상관 없이 μ €μž₯ν•˜κ³  쀑볡 κ°’ μ €μž₯ μ•ˆν•¨ - add( )λ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λ©΄ κ²°κ³ΌλŠ” true, false ! 즉, μžˆλ‹€λ©΄ false λ„μΆœ package Mon; import java.util.*; public class HashSetTest { public static void main(String[] args) { HashSet lan = new HashSet(); lan.add("Apple"); lan.add("Bana.. 2022. 5. 17.
[TIL] List<E> πŸ™ŒπŸ» List (1) μš”μ†Œμ˜ μ €μž₯ μˆœμ„œ μœ μ§€ (2) 같은 μš”μ†Œμ˜ 쀑볡 μ €μž₯ ν—ˆμš© - 객체λ₯Ό 일렬둜 λŠ˜μ–΄λ†“μ€ ꡬ쑰λ₯Ό κ°€μ§€κ³  있음 - 객체λ₯Ό 인덱슀둜 κ΄€λ¦¬ν•˜λ©° 인덱슀둜 검색, μ‚­μ œ κ°€λŠ₯ - LinkedList : 데이터 μž¦μ€ λ³€κ²½ μ‹œ μ‚¬μš© - ArrayList : 데이터 κ°œμˆ˜κ°€ λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ μ‚¬μš© (1) 객체 μΆ”κ°€ add(int index, Object element) - μ£Όμ–΄μ§„ μΈλ±μŠ€μ— 객체λ₯Ό μΆ”κ°€ (2) μ»¬λ ‰μ…˜ μΆ”κ°€ addAll(int index, Collection c) - μ£Όμ–΄μ§„ μΈλ±μŠ€μ— μ»¬λ ‰μ…˜ μΆ”κ°€ → return : boolean (3) 객체 μ €μž₯ set(int index, Object element) - μ£Όμ–΄μ§„ μœ„μΉ˜μ— 객체λ₯Ό μ €μž₯ (4) 객체 검색 get(int index) - μ£Όμ–΄μ§„ μΈλ±μŠ€μ—.. 2022. 5. 17.
[TIL] μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ πŸ‘πŸ» μ»¬λ ‰μ…˜ ν”„λ ˆμž„μ›Œν¬ ( Collection Framework ) - 객체듀을 효율적으둜 μΆ”κ°€, μ‚­μ œ, 검색할 수 μžˆλ„λ‘ μ»¬λ ‰μ…˜μ„ λ§Œλ“€κ³  κ΄€λ ¨λœ μΈν„°νŽ˜μ΄μŠ€μ™€ 클래슀λ₯Ό ν¬ν•¨μ‹œν‚¨ 것 - 객체 μ§€ν–₯적이고 μž¬μ‚¬μš© 높은 μ½”λ“œ μž‘μ„± κ°€λŠ₯ - List와 Set은 곡톡점이 λ§Žμ•„ 곡톡 λ©”μ†Œλ“œ μ»¬λ ‰μ…˜ μΈν„°νŽ˜μ΄μŠ€λ‘œ μ •μ˜ - Map은 λ…λ¦½λœ μΈν„°νŽ˜μ΄μŠ€λ‘œ 뢄리됨 πŸ’‘ List와 Set의 λ©”μ„œλ“œ (1) 객체좔가 add - μ£Όμ–΄μ§„ 객체, μ»¬λ ‰μ…˜μ˜ 객체듀을 μ»¬λ ‰μ…˜μ— μΆ”κ°€ - add(Object o), addAll(Collection c) → return νƒ€μž… : boolean (2) 객체 검색 contains - μ£Όμ–΄μ§„ 객체, μ»¬λ ‰μ…˜μ˜ 객체듀을 μ»¬λ ‰μ…˜μ— μΆ”κ°€ - contains(Object o), containsAll(Collec.. 2022. 5. 17.
[TIL] μΆ”μƒν΄λž˜μŠ€ vs μΈν„°νŽ˜μ΄μŠ€ πŸ™ŒπŸ» 상속 = is kind of 관계 - μƒμœ„ 클래슀의 νŠΉμ„±μ„ μž¬μ‚¬μš© ν•˜λŠ” 것 - μƒμœ„ 클래슀의 νŠΉμ„±μ„ ν™•μž₯ν•˜λŠ” 것 πŸ™πŸ» μΆ”μƒν΄λž˜μŠ€ abstract class ν΄λž˜μŠ€μ΄λ¦„ { ... public abstract void λ©”μ„œλ“œμ΄λ¦„(); } - 'λ―Έμ™„μ„± 섀계도'라고도 ν•˜λ©° 일반 ν΄λž˜μŠ€μ™€ λΉ„μŠ·ν•¨ - 좔상 λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•˜μ—¬ 상속을 ν†΅ν•΄μ„œ μžμ† ν΄λž˜μŠ€μ—μ„œ μ™„μ„±ν•˜λ„λ‘ μœ λ„ - 상속을 μœ„ν•œ 클래슀이기 λ•Œλ¬Έμ— λ”°λ‘œ 객체 생성할 수 μ—†μŒ πŸ“ μΆ”μƒν΄λž˜μŠ€ νŠΉμ§• - μΈμŠ€ν„΄μŠ€, 즉 객체λ₯Ό λ§Œλ“€ 수 μ—†μŒ - 좔상 λ©”μ†Œλ“œλŠ” ν•˜μœ„ 클래슀의 λ©”μ†Œλ“œ κ΅¬ν˜„μ„ κ°•μ œν•¨ - 좔상 λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•˜λŠ” ν΄λž˜μŠ€λŠ” λ°˜λ“œμ‹œ 좔상 ν΄λž˜μŠ€μ—¬μ•Ό 함 - μƒμ†ν•˜λŠ” μ§‘ν•© κ°„μ—λŠ” 연관관계가 있음 - 닀쀑 상속 λΆˆκ°€λŠ₯ - extends ν‚€μ›Œλ“œ μ‚¬μš© (상속 κ΅¬ν˜„) πŸ™.. 2022. 5. 15.