λΆ„λ₯˜ 전체보기

    κ΅­λΉ„ μˆ˜μ—… μžλ°” Stack Set Map 정리

    **Stack - LIFO( Last Input First Output ) - λ§ˆμ§€λ§‰μ— λ“€μ–΄κ°„ 데이터가 λ¨Όμ € λ‚˜μ˜€λŠ” 자료ꡬ쑰 - java.util νŒ¨ν‚€μ§€μ—μ„œ 제곡 - Vector의 μžμ‹ (FIFO κΈ°λŠ₯, 동기화)μ΄μ§€λ§Œ, Vectorμ—μ„œ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯은 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ - Historyλ₯Ό λ‚¨κ²¨μ•Όν•˜λŠ” ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš© - 데이터λ₯Ό 크기보닀 μ΄ˆκ³Όν•˜μ—¬ μž…λ ₯ν•˜λ©΄ Stack Overflow λ°œμƒ -μ•„λž˜κ°€ λ§‰ν˜€ μžˆμ–΄μ„œ under flowλŠ” λ°œμƒν•˜μ§€ μ•ŠμŒ push( ) = Stack에 κ°’ λ„£κΈ° pop( ) = Stackμ—μ„œ κ°’ κΊΌλ‚΄κΈ°, κΊΌλ‚Ό λ•Œλ§ˆλ‹€ 값이 사라짐 empty( ) = Stack에 item이 μ‘΄μž¬ν•˜λ‹ˆ? λΉ„μ—ˆλ‹ˆ? **Set - 데이터가 순차적으둜 μž…λ ₯λ˜μ§€ μ•ŠμœΌλ©°, 쀑볡값을 μ €μž₯ν•˜μ§€ μ•ŠμŒ - 값을 μœ μΌν•˜κ²Œ 관리할..

    1222 κ΅­λΉ„ μˆ˜μ—… μžλ°” 상속 μ˜€λ²„λΌμ΄λ”© 좔상 클래슀 좔상 λ©”μ„œλ“œ μΈν„°νŽ˜μ΄μŠ€ is a 관계 객체화

    *Override( Overriding ) - λΆ€λͺ¨ν΄λž˜μŠ€μ—μ„œ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯(일= method)이 μžμ‹ν΄λž˜μŠ€μ˜ 상황과 λ§žμ§€ μ•ŠλŠ”λ‹€λ©΄, μžμ‹ν΄λž˜μŠ€μ—μ„œ λΆ€λͺ¨ν΄λž˜μŠ€ λ©”μ„œλ“œμ™€ λ™μΌν•œ λ©”μ„œλ“œλ₯Ό μž‘μ„±ν•˜κ³  λ‹€λ₯Έ κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 것 - μƒμ†κ΄€κ³„μ—μ„œ 주둜 μ‚¬μš© - 상속 κ΄€κ³„μ˜ ν΄λž˜μŠ€μ—μ„œ 같은 μ΄λ¦„μ˜ λ©”μ„œλ“œλ₯Ό λ§Œλ“œλŠ” 것 (이름은 같은데 κΈ°λŠ₯이 닀름 - λ‹€ν˜•μ„±) λ‹€ν˜•μ„± λ©”μ„œλ“œ λ‹€ν˜•μ„± - μ˜€λ²„λ‘œλ”©, μ˜€λ²„λΌμ΄λ”© 객체 λ‹€ν˜•μ„± - 상속, κ΅¬ν˜„ κ·œμΉ™ ) - μ ‘κ·Όμ§€μ •μžλŠ” 달라도 되고, λ°˜ν™˜ν˜•, λ©”μ„œλ“œλͺ…, λ§€κ°œλ³€μˆ˜λŠ” κ°™μ•„μ•Ό 함 - μ ‘κ·Όμ§€μ •μžλŠ” κ΄‘μ˜μ˜ μ ‘κ·Όμ§€μ •μž(접근이 μ›ν™œν•œ μͺ½)둜 λ³€ν™˜ κ°€λŠ₯ default > protected > public // (private은 μ ‘κ·Ό λΆˆκ°€λ‘œ μ˜€λ²„λΌμ΄λ”© x) - method의 μ ‘κ·Ό μ§€μ •μžκ°€ final이..

    1221 κ΅­λΉ„ μˆ˜μ—… μžλ°” 상속 λΆ€λͺ¨ν΄λž˜μŠ€ μžμ‹ν΄λž˜μŠ€ super

    *상속( inheritance ) - OOPμ–Έμ–΄ 3κ°€μ§€ νŠΉμ§• 쀑 ν•˜λ‚˜ - μ½”λ“œμ˜ μž¬μ‚¬μš©μ„± ν–₯상 ( μ€‘λ³΅μ½”λ“œλ₯Ό μ΅œμ†Œν™” ) - 클래슀의 계측 생성 ( λΆ€λͺ¨, μžμ‹ ) - λͺ¨λ“  클래슀의 λΆ€λͺ¨ 클래슀: java.lang.Object - μƒμ„±μžλŠ” μƒμ†λ˜μ§€ μ•ŠμŒ (μ‘°μƒμ˜ μƒμ„±μžλ₯Ό λ„£μ–΄ 쑰상에 μ˜ν•΄ μ΄ˆκΈ°ν™”λ¨ + μžμ‹ λ§Œμ˜ 멀버 λ³€μˆ˜ μ΄ˆκΈ°ν™”) - private methodλŠ” μžμ‹μ—μ„œ μ‚¬μš©ν•  수 μ—†μŒ (상속 μ•ˆλ¨) - 단일 μƒμ†λ§Œ 지원 (닀쀑상속을 지원 x) -λΆ€λͺ¨κ°€ λͺ…ν™• -객체의 크기가 ν•„μš” 이상 컀지지 μ•ŠμŒ -λΆ€λͺ¨μ˜ κΈ°λŠ₯ 이외에 λ‹€λ₯Έ κΈ°λŠ₯을 μ‚¬μš©ν•  λ•Œ 뢈편 λΆ€λͺ¨ν΄λž˜μŠ€ - μ—¬λŸ¬ μžμ‹μ΄ κ°€μ Έμ•Ό ν•  곡톡 νŠΉμ§• κ΅¬ν˜„ > μžμ‹μ΄ 또 μ•ˆλ§Œλ“œλ‹ˆκΉŒ μ½”λ“œ μž¬μ‚¬μš©μ„± ↑ (ν•œλ²ˆλ§Œ μ½”λ“œλ₯Ό μž‘μ„±ν•΄λ„ μžμ‹λ“€μ΄ λ‹€ λ°›μŒ, ν•œλ²ˆ λ§Œλ“€μ–΄μ§„ μ½”λ“œλŠ” ..

    1219 κ΅­λΉ„ μˆ˜μ—… μžλ°” λ°°μ—΄ 1차원 λ°°μ—΄ 2차원 λ°°μ—΄

    *array - μΌκ΄„μ²˜λ¦¬ μ‹œ μ‚¬μš© (데이터λ₯Ό λͺ¨μ•„μ„œ 처리) - 일차원, 이차원, 삼차원, κ°€λ³€λ°°μ—΄ 4κ°€μ§€ 제곡 - κ³ μ •κΈΈμ΄ν˜• ( ν•œλ²ˆ λ°©(element)의 κ°œμˆ˜κ°€ μ„€μ •λ˜λ©΄ λ³€κ²½λ˜μ§€ μ•ŠμŒ) - λͺ¨λ“  데이터 ν˜•μœΌλ‘œ λ§Œλ“€ 수 있음 - λ©”λͺ¨λ¦¬μ— 동일 λ°μ΄ν„°ν˜•μ„ μ­‰ μ—°κ²°ν•˜μ—¬ μƒμ„±ν•˜λŠ” 것 *일차원 λ°°μ—΄ -ν•˜λ‚˜μ˜ 행에 μ—΄λ‘œλ§Œ κ΅¬μ„±λœ λ°°μ—΄ -방의 κ°œμˆ˜λŠ” λ°°μ—΄λͺ….length 둜 얻을 수 있음 μ‚¬μš©λ²•) 1.μ„ μ–Έ) λ°μ΄ν„°ν˜•[] λ°°μ—΄λͺ…=null; //ꢌμž₯ int[] arr=null; 2.생성) λ°°μ—΄λͺ…=new λ°μ΄ν„°ν˜•[ 방의 개수 ]; arr=new int[4]; 3.λ°© κ°’ ν• λ‹Ή) λ°°μ—΄λͺ…[인덱슀]=κ°’; arr[0]=12; 4.λ°© κ°’ μ–»κΈ°) λ°°μ—΄λͺ…[인덱슀] arr[0] *방의 개수 arr.length int [ ] arr = n..

    1216 κ΅­λΉ„ μˆ˜μ—… μžλ°” λ¬Έμžμ—΄ String 클래슀 λ©”μ„œλ“œ equals λ©”μ„œλ“œ

    *μ°Έμ‘°ν˜• λ°μ΄ν„°ν˜• : class, array, λ¬Έμžμ—΄ *λ¬Έμžμ—΄( String ) - “둜 μ‹œμž‘λ˜λŠ” μ—¬λŸ¬ λ¬Έμžλ“€ - String은 λ¬Έμžμ—΄ μ €μž₯μ†Œμ— μ €μž₯됨 - λ™μΌν•œ λ¬Έμžμ—΄μ€ ν•˜λ‚˜λ§Œ 생성됨 - String(λ¬Έμžμ—΄ μƒμˆ˜)의 μ‹œμž‘μ£Όμ†Œλ₯Ό μ €μž₯ν•˜λŠ” λ°μ΄ν„°ν˜• java.lang.String 클래슀 - “”- λ¬Έμžμ—΄ μƒμˆ˜λŠ” java.lang.String의 methodλ₯Ό μ‚¬μš©ν•  수 있음 *java.lang.String - λ¬Έμžμ—΄ μƒμˆ˜μ˜ μ‹œμž‘μ£Όμ†Œλ₯Ό μ €μž₯ν•  수 μžˆλŠ” 클래슀 - μ°Έμ‘°ν˜• 데이터 ν˜•μ΄μ§€λ§Œ(생성 μ‹œ new μ‚¬μš©) κΈ°λ³Έν˜• ν˜•μ‹μœΌλ‘œ μ‚¬μš© κ°€λŠ₯(new μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ“Έ 수 있음) μ‚¬μš©λ²•) -문법에 따라 μƒμ„±λ˜λŠ” λ©”λͺ¨λ¦¬κ°€ 닀름 - κΈ°λ³Έν˜• ν˜•μ‹) new μ‚¬μš©ν•˜μ§€ μ•ŠμŒ String str=“λ¬Έμžμ—΄”; str에 λ¬Έμžμ—΄ μ €μž₯μ†Œ μ‹œ..

    1215 κ΅­λΉ„ μˆ˜μ—… μžλ°” 클래슀 (μ°Έμ‘°ν˜• λ°μ΄ν„°ν˜• μ‚¬μš©μžμ •μ˜ λ°μ΄ν„°ν˜•) μƒμ„±μž μ ‘κ·Όμ§€μ •μž

    *class(섀계도) - μ°Έμ‘°ν˜• λ°μ΄ν„°ν˜•, μ‚¬μš©μž μ •μ˜ λ°μ΄ν„°ν˜• μ°Έμ‘°ν˜• λ°μ΄ν„°ν˜• (Reference type) 값은 λ©”λͺ¨λ¦¬μ— λ‹€λ₯Έ κ³³(heap)에 μƒμ„±λ˜κ³ , κ·Έ μ‹œμž‘μ£Όμ†Œλ₯Ό (stack에) μ €μž₯ν•˜λŠ” λ°μ΄ν„°ν˜• κΈ°λ³Έν˜•κ³Ό 달리 크기λ₯Ό μ•Œ 수 μ—†λ‹€ newλ₯Ό μ‚¬μš©ν•˜μ—¬ 객체λ₯Ό μƒμ„±ν•˜κ³  값을 μ €μž₯ new : 객체 μƒμ„±μš© ν‚€μ›Œλ“œ (heap에 생성) ν‚€μ›Œλ“œλ‘œ λ©”λͺ¨λ¦¬ μ˜μ—­μ„ κ΅¬λΆ„ν•˜μ—¬ λ³€μˆ˜λ₯Ό 생성 기본적으둜 stack에 new둜 클래슀 λ§Œλ“€λ©΄ heap에 static이 λΆ™μ–΄ 있으면 method μ˜μ—­μ— μ‚¬μš©μž μ •μ˜ λ°μ΄ν„°ν˜•: Javaμ–Έμ–΄μ—μ„œ μ œκ³΅ν•˜λŠ” λ°μ΄ν„°ν˜•μ„ μ‘°ν•©ν•˜μ—¬ μƒˆλ‘œμš΄ μ΄λ¦„μ˜ λ°μ΄ν„°ν˜•μ„ λ§Œλ“œλŠ” 것 λ°μ΄ν„°ν˜•: 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄ λ§Œλ“  것 -κ°’ ν•˜λ‚˜λ₯Ό μ €μž₯ν•  λ•ŒλŠ” μžλ°”μ—μ„œ μ œκ³΅ν•˜λŠ” 데이터 ν˜•μ„ μ‚¬μš©ν•˜λ©΄ 됨 -ν•˜μ§€λ§Œ μ—¬λŸ¬ 개의..

    1214 κ΅­λΉ„ μˆ˜μ—… μžλ°” λ©”μ„œλ“œ 호좜 setter getter λ©”μ„œλ“œ 호좜

    setter method(가변일), getter method(고정일) -UseMarker ν΄λž˜μŠ€μ—μ„œ Marker 클래슀의 λ³€μˆ˜μ— 직접 μ ‘κ·Όν•  수 μ—†μŒ (λ³΄μ•ˆμƒ) -값을 κ°€μ§€λŠ” 클래슀의 값을 μ™ΈλΆ€μ—μ„œ μ„€μ •ν•˜κ²Œ λ§Œλ“€λ©΄ >> 잘λͺ»λœ 값에 λŒ€ν•œ μœ νš¨μ„± 검증을 μ‚¬μš©ν•˜λŠ” μͺ½(μ™ΈλΆ€)μ—μ„œ μˆ˜ν–‰ν•΄μ•Ό 함 해결법 : (λ³€μˆ˜μ— 값을 μ„ΈνŒ…ν•΄μ£ΌλŠ” ν•΄μ£ΌλŠ”) setter methodλ₯Ό λ§Œλ“€μ–΄μ„œ ν•΄κ²° -값을 μ™ΈλΆ€μ—μ„œ 직접 μ„€μ •ν•˜μ§€ λͺ»ν•˜λ„둝 λ§Œλ“€κ³ , κ°„μ ‘μ μœΌλ‘œ methodλ₯Ό 톡해 μœ νš¨μ„± 검증 ν›„ 값을 μ„€μ •ν•˜λ„λ‘ 함 setter method 객체가 κ°€μ§€κ³  μžˆλŠ” λ³€μˆ˜ (멀버 λ³€μˆ˜ λ˜λŠ” μΈμŠ€ν„΄μŠ€ λ³€μˆ˜)에 값을 λ„£μ–΄μ£ΌλŠ” method(일) μ—‰λš±ν•œ 값이 λ“€μ–΄μ˜€μ§€ λͺ»ν•˜λ„둝 μœ νš¨μ„± 검증을 ν•˜κΈ°λ„ ​ μž‘μ„±λ²•) set을 μ ‘λ‘μ–΄λ‘œ μ‚¬μš©, (μΈμŠ€ν„΄μŠ€) λ³€μˆ˜..

    1213 κ΅­λΉ„ μˆ˜μ—… μžλ°” κ°€λ³€ μΈμˆ˜ν˜• λ‹€ν˜•μ„± OOP(객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°) class μž‘μ„± μˆœμ„œ

    κ°€λ³€ μΈμˆ˜ν˜•(Variable Arguments) - λ©”μ„œλ“œμ˜ λ§€κ°œλ³€μˆ˜λŠ” ν•˜λ‚˜μ΄λ‚˜, ν˜ΈμΆœν•  λ•Œ κ°’μ˜ 개수λ₯Ό λ™μ μœΌλ‘œ λ„£μ–΄ 쀄 수 μžˆλŠ” 것 - JDK 1.5μ—μ„œ λΆ€ν„° μ§€μ›λ˜λŠ” 문법 - λ§€κ°œλ³€μˆ˜λŠ” λ©”μ„œλ“œ μ•ˆμ—μ„œ λ°°μ—΄λ‘œ 처리됨 주의) μ—¬λŸ¬ 개의 λ§€κ°œλ³€μˆ˜λ₯Ό μ •μ˜ν•  λ•Œμ—λŠ” κ°€μž₯ λ§ˆμ§€λ§‰μ—λ§Œ μ •μ˜ν•  수 있음 μž‘μ„±λ²•) μ ‘κ·Όμ§€μ •μž λ°˜ν™˜ν˜• methodλͺ…( λ§€κ°œλ³€μˆ˜ ... λ§€κ°œλ³€μˆ˜λͺ… ) // λ§€κ°œλ³€μˆ˜λŠ” λ°°μ—΄λ‘œ 처리됨 class Test { public void temp( int ... param ) { } public void test(int i, int ... j) { } }//class 호좜) Test t = new Test(); t.temp(); // κ°€λ³€μΈμžλŠ” 값을 μ•ˆλ„£μ–΄λ„ t.temp(1); // 값이 ν•˜λ‚˜μ—¬λ„ t...