728x90
λ°˜μ‘ν˜•

Java 15

μΈν„°νŽ˜μ΄μŠ€ ( interface )

μΈν„°νŽ˜μ΄μŠ€λž€? - 좔상 λ©”μ„œλ“œμ˜ 집합 - κ΅¬ν˜„λœ 것이 μ „ν˜€ μ—†λŠ” 섀계도. 껍데기 ( λͺ¨λ“  멀버가 public ) μΆ”μƒν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€μ˜ 곡톡점 μΆ”μƒλ©”μ„œλ“œλ₯Ό 가지고 μžˆλ‹€. μΆ”μƒν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€μ˜ 차이 μΆ”μƒν΄λž˜μŠ€λŠ” 일반 클래슀인데 μΆ”μƒλ©”μ„œλ“œλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” 것이닀. κ·Έλž˜μ„œ μƒμ„±μžλ„ 가지고 있고 λ©€λ²„λ³€μˆ˜λ„ 가지고 μžˆλ‹€. 반면 μΈν„°νŽ˜μ΄μŠ€λŠ” μ˜€λ‘œμ§€ 좔상 λ©”μ„œλ“œ, μƒμˆ˜, staticλ©”μ„œλ“œ, defaultλ©”μ„œλ“œ 만으둜 이루어져 μžˆλ‹€. 항상 public / static / abstract 이기 λ•Œλ¬Έμ— μƒλž΅ κ°€λŠ₯ν•˜λ‹€. μΌλΆ€λ§Œ 써도 되고 μ „λΆ€ μƒλž΅ν•΄λ„ λœλ‹€. μΈν„°νŽ˜μ΄μŠ€μ˜ 상속 - μΈν„°νŽ˜μ΄μŠ€μ˜ 쑰상은 μΈν„°νŽ˜μ΄μŠ€λ§Œ κ°€λŠ₯ ( Object κ°€ 졜고 쑰상이 μ•„λ‹ˆλ‹€ ) - 닀쀑 상속이 κ°€λŠ₯. ( μΆ”μƒλ©”μ„œλ“œλŠ” μΆ©λŒν•΄λ„ 문제 μ—†μŒ ..

JAVA 2022.03.02

좔상 클래슀, 좔상 λ©”μ„œλ“œ

좔상 클래슀 ( abstract class ) - λ―Έμ™„μ„± 섀계도. λ―Έμ™„μ„± λ©”μ„œλ“œ( 좔상 λ©”μ„œλ“œ ) λ₯Ό κ°–κ³  μžˆλŠ” 클래슀 → μ œν’ˆμƒμ„± λΆˆκ°€ - λ‹€λ₯Έ 클래슀 μž‘μ„±μ— 도움을 μ£ΌκΈ° μœ„ν•œ 것 . μΈμŠ€ν„΄μŠ€ (μ œν’ˆ) 생성 λΆˆκ°€ - 상속을 톡해 좔상 λ©”μ„œλ“œλ₯Ό μ™„μ„±ν•΄μ•Ό μΈμŠ€ν„΄μŠ€ 생성가λŠ₯ - μ½”λ“œμ˜ 쀑볡 제거 좔상 λ©”μ„œλ“œ ( abstract method ) - λ―Έμ™„μ„± λ©”μ„œλ“œ. κ΅¬ν˜„λΆ€ (λͺΈν†΅, { } κ°€ μ—†λŠ” λ©”μ„œλ“œ - κΌ­ ν•„μš”ν•˜μ§€λ§Œ μžμ†λ§ˆλ‹€ λ‹€λ₯΄κ²Œ κ΅¬ν˜„λ  κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ” 경우 μ‚¬μš© - 상속을 톡해 μžμ†μ΄ μ™„μ„±ν•˜κ³  호좜 ( ν˜ΈμΆœν•  λ•ŒλŠ” μ„ μ–ΈλΆ€λ§Œ ν•„μš” ) μΆ”μƒν΄λž˜μŠ€μ˜ μž‘μ„± - μ—¬λŸ¬ ν΄λž˜μŠ€μ— κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©λ  수 μžˆλŠ” μΆ”μƒν΄λž˜μŠ€λ₯Ό μž‘μ„± or κΈ°μ‘΄ 클래슀의 곡톡 뢀뢄을 뽑아 μΆ”μƒν΄λž˜μŠ€λ₯Ό λ§Œλ“ λ‹€. - μΆ”μƒν™”λœ μ½”λ“œλŠ” κ΅¬μ²΄ν™”λœ μ½”λ“œ..

JAVA 2022.03.01

κΈ°λ³Έν˜• λ§€κ°œλ³€μˆ˜ / μ°Έμ‘°ν˜• λ§€κ°œλ³€μˆ˜

κΈ°λ³Έν˜• λ§€κ°œλ³€μˆ˜ : read only κΈ°λ³Έν˜• λ§€κ°œλ³€μˆ˜λŠ” 값을 읽을 수만 있기 λ•Œλ¬Έμ— 값이 λ³€ν•˜μ§€ μ•ŠλŠ”λ‹€. μ°Έμ‘°ν˜• λ§€κ°œλ³€μˆ˜ : read & wirte μ°Έμ‘°ν˜• λ§€κ°œλ³€μˆ˜λŠ” 값을 μ „λ‹¬ν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ μ£Όμ†Œλ₯Ό μ „λ‹¬ν•˜κΈ° λ•Œλ¬Έμ— ν•΄λ‹Ή μ£Όμ†Œμ˜ 값이 λ³€ν•˜λ©΄ 값이 λ³€ν•œλ‹€. 값을 μƒˆλ‘œ μž…λ ₯κ°€λŠ₯ν•˜λ‹€.

JAVA 2022.02.19

λ©”μ„œλ“œλž€ ?

λ©”μ„œλ“œλž€ ? 1. μž‘μ—…λ‹¨μœ„λ‘œ λ¬Έμž₯듀을 묢은 것 2. μž…λ ₯된 값을 λ°›μ•„μ„œ μ²˜λ¦¬ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λŠ” 것. λ©”μ„œλ“œμ˜ μž₯점 1. μ½”λ“œμ˜ 쀑볡을 쀄일 수 μžˆλ‹€. 2. μ½”λ“œκ΄€λ¦¬κ°€ 쉽닀. 3. μ½”λ“œ μž¬μ‚¬μš© κ°€λŠ₯. 4. μ½”λ“œμ˜ 가독성 증가 ( κ°„κ²°ν•΄μ Έμ„œ μ΄ν•΄ν•˜κΈ° 쉬움 ) λ©”μ„œλ“œ μž‘μ„± - 반볡적으둜 μˆ˜ν–‰λ˜λŠ” μ—¬λŸ¬λ¬Έμž₯을 λ©”μ„œλ“œλ‘œ μž‘μ„± - ν•˜λ‚˜μ˜ λ©”μ„œλ“œλŠ” ν•œ 가지 κΈ°λŠ₯만 μˆ˜ν–‰ν•˜λ„λ‘ μž‘μ„± λ©”μ„œλ“œ 호좜 λ©”μ„œλ“œμ΄λ¦„ (κ°’1, κ°’2, ... ); // 값이 ν•„μš”μ—†λŠ” λ©”μ„œλ“œ (void) λŠ” 값을 넣지 μ•Šμ•„λ„ λœλ‹€. λ©”μ„œλ“œ 싀행에 ν•„μš”ν•œ κ΄„ν˜Έ μ•ˆμ˜ λ³€μˆ˜λ₯Ό λ§€κ°œλ³€μˆ˜( parameter, 볡사본 ) 라고 ν•œλ‹€.

JAVA 2022.02.18

μ„ μ–Έ μœ„μΉ˜μ— λ”°λ₯Έ λ³€μˆ˜μ˜ μ’…λ₯˜

1. 클래슀 μ˜μ—­ : μ„ μ–Έλ¬Έλ§Œ κ°€λŠ₯ ( λ³€μˆ˜, λ©”μ„œλ“œ ) , μˆœμ„œλŠ” μƒκ΄€μ—†μŒ 1-1 μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ 1-2 클래슀 λ³€μˆ˜ ( static λ³€μˆ˜, κ³΅μœ λ³€μˆ˜ ) 2. λ©”μ„œλ“œ μ˜μ—­ μ§€μ—­λ³€μˆ˜ ν΄λž˜μŠ€λ³€μˆ˜λŠ” μ•žμ— static 이 λΆ™κ³  ν•œλ²ˆλ§Œ λ§Œλ“€μ–΄μ§„λ‹€. ν•΄λ‹Ή 클래슀의 λͺ¨λ“  객체 (μΈμŠ€ν„΄μŠ€)μ—μ„œ κ³΅μœ λœλ‹€. μ‚¬μš©ν•  λ•ŒλŠ” 클래슀λͺ….λ³€μˆ˜λͺ…μœΌλ‘œ 호좜 μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” μΈμŠ€ν„΄μŠ€ μƒμ„±μ‹œμ— μƒμ„±λœλ‹€. ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€μ—μ„œλ§Œ μ‚¬μš©λœλ‹€. μ‚¬μš© ν•  λ•Œ μΈμŠ€ν„΄μŠ€λͺ….λ³€μˆ˜λͺ…μœΌλ‘œ 호좜

JAVA 2022.02.17

Arrasys의 μ—¬λŸ¬ ν•¨μˆ˜

λ°°μ—΄μ˜ 비ꡐ와 좜λ ₯ - equals(), toString() Arrays.equals( λ°°μ—΄1, λ°°μ—΄2); // 1μ°¨μ›μ˜ 두 배열이 같은지 확인 true/false Arrays.equals( λ°°μ—΄1, λ°°μ—΄2); // 2μ°¨μ›μ˜ 두 배열이 같은지 확인 true/false Arrays.toString( 1차원 λ°°μ—΄ 이름 ); // 1차원 배열을 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ Arrays.deepToString( 2차원 λ°°μ—΄ 이름); // 2차원 배열을 λ¬Έμžμ—΄λ‘œ λ³€ν™˜ λ°°μ—΄μ˜ 볡사 - copyOf(), copyOfRange() Arrays.copyOf ( λ°°μ—΄λͺ…, int 갯수); Arrays.copyOfRange ( λ°°μ—΄λͺ…, int from, int to); ex) int[] arr = {0, 1, 2, 3, 4}; int[] ..

JAVA 2022.02.15

String 클래슀의 μ£Όμš” λ©”μ„œλ“œ

String str = "ABCDE"; - charAt( int index ) : λ¬Έμžμ—΄μ—μ„œ ν•΄λ‹Ή μœ„μΉ˜ ( index ) 에 μžˆλŠ” 문자λ₯Ό λ°˜ν™˜ν•œλ‹€. char ch = str.charAt(3); System.out.println( ch ) ; // 'D'좜λ ₯ - length( ) : λ¬Έμžμ—΄μ˜ 길이λ₯Ό λ°˜ν™˜ν•œλ‹€. int length = str.length(); System.out.println( length ) ; // 5 좜λ ₯ - substring( int from, int to ) : λ¬Έμžμ—΄μ—μ„œ ν•΄λ‹Ή λ²”μœ„ ( from ~ to ) 의 λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•œλ‹€.( toλŠ” 미포함 ) String sub = str.substring( 1, 4 ) System.out.println( sub ) ; // "BCD" 좜λ ₯ ..

JAVA 2022.02.15

[λ°°μ—΄] λ°°μ—΄μ˜ 좜λ ₯ - Arrays 클래슀

배열을 좜λ ₯ν•  λ•ŒλŠ” System.out.println ( iArr ); 이 λ°©μ‹μœΌλ‘œλŠ” λΆˆκ°€ν•΄μ„œ ( μ˜ˆμ™Έλ‘œ charν˜• 배열은 κ°€λŠ₯ ) for문을 μ΄μš©ν•˜μ—¬ 좜λ ₯ν•  μˆ˜λ„ 있고, Arrays 클래슀λ₯Ό μ΄μš©ν•˜μ—¬ 좜λ ₯ ν•  μˆ˜λ„ μžˆλ‹€. μœ„μ˜ 좜λ ₯κ²°κ³ΌλŠ” for문으둜 좜λ ₯ν•œ 결과이고, μ•„λž˜μ˜ νŒŒλž€μƒ‰ 쀄 μ•ˆμ˜ 좜λ ₯κ²°κ³ΌλŠ” Arrys.toString 을 μ΄μš©ν•˜μ—¬ 좜λ ₯ν•œ 결과이닀.

JAVA 2022.02.10

println κ³Ό printf

1. ν˜•μ‹ν™” 된 좜λ ₯ - printf() - println()의 단점 : 좜λ ₯ ν˜•μ‹ 지정 λΆˆκ°€ - μ‹€μˆ˜μ˜ 자리수 쑰절 λΆˆκ°€ ( μ†Œμˆ˜μ  n 자리 κΉŒμ§€ 좜λ ₯ν•˜κΈ° ) - 10μ§„μˆ˜λ‘œλ§Œ 좜λ ₯λœλ‹€. - printf()둜 좜λ ₯ν˜•μ‹ 지정가λŠ₯ ex ) System.out.printf ( "%.2f", 10.0 / 3 ); // 3.33 ( μ†Œμˆ˜μ  λ‘˜μ§Έ μžλ¦¬κΉŒμ§€ 좜λ ₯ ) System.out.printf ( "%.d", 0x1A ); // 26 ( 10μ§„μˆ˜λ‘œ 좜λ ₯ ) System.out.printf ( "%.X", 0x1A ); // 1A ( 16μ§„μˆ˜λ‘œ 좜λ ₯ ) 2. printf()의 μ§€μ‹œμž

JAVA 2022.02.09

νƒ€μž… κ°„μ˜ λ³€ν™˜ 방법

1. λ¬Έμžμ™€ 숫자 κ°„μ˜ λ³€ν™˜ 숫자 - > 문자 ex) 3 + '0' => '3' 문자 -> 숫자 ex) '3' - '0' => 3 2. λ¬Έμžμ—΄λ‘œ λ³€ν™˜ : "" ( 빈 λ¬Έμžμ—΄ ) λ”ν•΄μ€Œ. 숫자 -> λ¬Έμžμ—΄ ex) 3 + "" => "3" 문자 -> λ¬Έμžμ—΄ ex) '3' + "" => "3" 3. λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜ : ν•¨μˆ˜ μ‚¬μš© μ •μˆ˜λ‘œ λ³€ν™˜ ex) Integer.parseInt( "3" ) => 3 μ‹€μˆ˜λ‘œ λ³€ν™˜ ex) Double.parseDouble( "3.4" ) => 3.4 4. λ¬Έμžμ—΄μ„ 문자둜 λ³€ν™˜ : charAt() ν•¨μˆ˜ μ‚¬μš© ex) "3".charAt(0) => '3'

JAVA 2022.02.08
728x90
λ°˜μ‘ν˜•