Search

μš”μ•½

Β chapter 1

μžλ°”μ˜ νŠΉμ§•
β€’
μš΄μ˜μ²΄μ œμ— 독립적이닀
β€’
객체지ν–₯언어이닀
β€’
비ꡐ적 배우기 쉽닀
β€’
μžλ™ λ©”λͺ¨λ¦¬ 관리(Garbage Collector)
β€’
λ„€νŠΈμ›Œν¬μ™€ λΆ„μ‚°μ²˜λ¦¬λ₯Ό μ§€μ›ν•œλ‹€
β€’
λ©€ν‹°μ“°λ ˆλ“œλ₯Ό μ§€μ›ν•œλ‹€
β€’
동적 λ‘œλ”©μ„ μ§€μ›ν•œλ‹€

Β chapter 2

μ‹λ³„μž(identifier) κ·œμΉ™
β€’
λŒ€μ†Œλ¬Έμžκ°€ κ΅¬λΆ„λ˜λ©° 길이에 μ œν•œμ΄ μ—†λ‹€
β€’
숫자둜 μ‹œμž‘ν•΄μ„œλŠ” μ•ˆ λœλ‹€
β€’
특수문자 β€˜_’와 β€˜$β€™λ§Œμ„ ν—ˆμš©ν•œλ‹€
β€’
μ˜ˆμ•½μ–΄λ₯Ό μ‚¬μš©ν•΄μ„œλŠ” μ•ˆ λœλ‹€
λ³€μˆ˜
β€’
κΈ°λ³Έν˜•(primitive type) : μ‹€μ œ κ°’(data)을 μ €μž₯
β€’
μ°Έμ‘°ν˜•(reference type) : κΈ°λ³Έν˜• μ™Έμ˜ λͺ¨λ“  νƒ€μž…μœΌλ‘œ μ£Όμ†Œκ°’μ„ κ°–κ³  4byte이닀
β€’
접두사
β—¦
0b : 2μ§„μˆ˜
β—¦
0 : 8μ§„μˆ˜
β—¦
0x : 16μ§„μˆ˜
β€’
접미사
β—¦
long은 20얡이 λ„˜μœΌλ©΄ μ ‘λ―Έμ‚¬λ‘œ L을 λΆ™μ—¬μ•Ό ν•œλ‹€ (μƒλž΅ X)
β—¦
floatλŠ” μ ‘λ―Έμ‚¬λ‘œ fλ₯Ό λΆ™μ—¬μ•Ό ν•œλ‹€ (μƒλž΅ X)
β—¦
double은 μ ‘λ―Έμ‚¬λ‘œ dλ₯Ό λΆ™μ—¬μ•Ό ν•œλ‹€ (μƒλž΅ O)
λ‹¨μ–΄μ˜ μ •μ˜
β€’
λ¦¬ν„°λŸ΄ : 데이터(κ°’) κ·Έ 자체 (ex.100, 100L, 3.14f)
β€’
λ³€μˆ˜ : ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ 곡간 (ex.i, l)
β€’
μƒμˆ˜ : 값을 ν•œ 번만 μ €μž₯ν•  수 μžˆλŠ” 곡간 (ex.PI)
β€’
ν‚€μ›Œλ“œ : 미리 μ˜ˆμ•½ν•΄ 놓은 λ‹¨μ–΄λ‘œΒ μ†Œλ¬Έμžμ΄λ‹€ (ex.int, long, final, float)
λ¬Έμžμ—΄κ³Ό 문자 그리고 μ—°μ‚°
β€’
String str = β€œβ€; β†’ λ‚΄μš© μ—†λŠ” λ¬Έμžμ—΄ OK
β€’
char ch = β€˜β€™; β†’ λ‚΄μš© μ—†λŠ” 문자 Error
β€’
any type + λ¬Έμžμ—΄(””) β†’ λ¬Έμžμ—΄
β€’
문자(’’)λŠ” μœ λ‹ˆμ½”λ“œλ‘œ 계산
β€’
null을 λ”ν•˜λ©΄ 였λ₯˜
μ •μˆ˜ν˜•μ˜ μ˜€λ²„ν”Œλ‘œμš°
β€’
μ΅œλŒ€κ°’ + 1 β†’ μ΅œμ†Œκ°’
β€’
μ΅œμ†Œκ°’ - 1 β†’ μ΅œλŒ€κ°’
ν˜•λ³€ν™˜
β€’
(νƒ€μž…) ν”Όμ—°μ‚°μž
β€’
μžλ™ ν˜•λ³€ν™˜ : κ°’μ˜ λ²”μœ„κ°€ μž‘μ€ νƒ€μž…μ—μ„œ 큰 νƒ€μž…μœΌλ‘œμ˜ ν˜•λ³€ν™˜
μž…μΆœλ ₯
β€’
μž…λ ₯ : Scanner scanner = new Scanner(System.in);
β—¦
μ»€λ§¨λ“œλΌμΈ μž…λ ₯ : String[] args에 μ €μž₯Β (args의 이름은 λ°”λ€” 수 있음)
β€’
좜λ ₯ : System.out.print(), printf(), println();

Β chapter 3

μ—°μ‚°μžμ˜ μš°μ„ μˆœμœ„μ™€ κ²°ν•©κ·œμΉ™
μ‰¬ν”„νŠΈ μ—°μ‚°μž
β€’
x << n == x * 2^n
β€’
x >> n == x / 2^n

chapter 4

β€’
쑰건문 : if, switch
β€’
반볡문 : for, while, do-while
β—¦
ν–₯μƒλœ forλ¬ΈΒ : for(int tmp : arr) { //λ°˜λ³΅ν•  λ¬Έμž₯ }
β€’
break, continue

chapter 5

Array λ°°μ—΄
β€’
생성 : int[] arr = new int[5];Β (0도 κ°€λŠ₯)
β€’
생성+μ΄ˆκΈ°ν™” : int[] arr = new int[] {1,2,3,4,5};
β€’
길이 : arr.length
β€’
좜λ ₯ : forλ¬Έ, Arrays.toString(arr)
β€’
볡사 : System.arraycopy(from, μ–΄λ””μ„œλΆ€ν„°, to, μ–΄λ””μ„œλΆ€ν„°, λͺ‡κ°œ);
String λ°°μ—΄
β€’
생성 : String[] str = new String[5]Β (0도 κ°€λŠ₯)
β€’
생성+μ΄ˆκΈ°ν™” : String[] str = { "Kim", "Park", "Yi" };
β€’
char charAt(int index) : λ¬Έμžμ—΄μ—μ„œ ν•΄λ‹Ή index에 문자 λ°˜ν™˜
β€’
int length() : λ¬Έμžμ—΄ 길이 λ°˜ν™˜
β€’
String substring(int from, int to) : λ¬Έμžμ—΄μ—μ„œ from~to-1 κΉŒμ§€ λ°˜ν™˜
β€’
boolean equals(Object obj) : λ¬Έμžμ—΄ 비ꡐ
β€’
char[] toCharArray() : λ¬Έμžμ—΄μ„ λ¬Έμžλ°°μ—΄λ‘œ λ³€ν™˜ν•΄μ„œ λ°˜ν™˜
닀차원 λ°°μ—΄
β€’
생성 : int[][] arr = new int[5][5];Β (0도 κ°€λŠ₯)
β€’
생성+μ΄ˆκΈ°ν™” : int[][] arr = { {1,2,3}, {4,5,6} };
κ°€λ³€ λ°°μ—΄
β€’
int[][] arr = new int[5][]; 둜 λ¨Όμ € μƒμ„±ν•˜κ³  arr[0] = new int [5]; 둜 각 ν–‰λ§ˆλ‹€ λ”°λ‘œ 생성

Β Chapter 6

λ©”λͺ¨λ¦¬ ꡬ쑰
β€’
μŠ€νƒ : μ§€μ—­λ³€μˆ˜, λ§€κ°œλ³€μˆ˜ (μžλ™μ΄ˆκΈ°ν™”X)
β€’
νž™ : λ°°μ—΄κ³Ό λͺ¨λ“  μΈμŠ€ν„΄μŠ€ 객체 (μžλ™μ΄ˆκΈ°ν™”O)
β€’
λ©”μ„œλ“œ : static이 뢙은 것듀
λ³€μˆ˜ μ΄ˆκΈ°ν™”
β€’
지역 λ³€μˆ˜(Lv)λŠ” μˆ˜λ™ μ΄ˆκΈ°ν™” , 멀버 λ³€μˆ˜(iv, cv)λŠ” μžλ™ μ΄ˆκΈ°ν™”
β€’
μ΄ˆκΈ°ν™” μ‹œμ 
β—¦
클래슀 λ³€μˆ˜ : ν΄λž˜μŠ€κ°€ λ‘œλ”©λ  λ•Œ ν•œ 번
β—¦
μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ : 객체가 생성될 λ•Œλ§ˆλ‹€
β€’
μ΄ˆκΈ°ν™” μ’…λ₯˜
β—¦
암묡적(μžλ™) μ΄ˆκΈ°ν™”
β—¦
λͺ…μ‹œμ (간단) μ΄ˆκΈ°ν™”
β—¦
볡작 μ΄ˆκΈ°ν™” : μ΄ˆκΈ°ν™” 블둝 β†’ static 블둝(cv) β†’ μƒμ„±μž(iv)
β€’
μ΄ˆκΈ°ν™” μˆœμ„œ
β—¦
클래슀 λ³€μˆ˜ : κΈ°λ³Έκ°’ β†’ λͺ…μ‹œμ  β†’ 클래슀 μ΄ˆκΈ°ν™” λΈ”λŸ­
β—¦
μΈμŠ€ν„΄μŠ€ λ³€μˆ˜ : κΈ°λ³Έκ°’ β†’ λͺ…μ‹œμ  β†’ μΈμŠ€ν„΄μŠ€ μ΄ˆκΈ°ν™” λΈ”λŸ­ β†’ μƒμ„±μž
클래슀의 ꡬ쑰
β€’
ν•„λ“œ, μƒμ„±μž, λ©”μ„œλ“œλ₯Ό κ°–λŠ”λ‹€
β€’
μƒμ„±μžλŠ” 1개 이상이어야 ν•œλ‹€
(μ—†μœΌλ©΄ κ΅¬ν˜„λΆ€{}κ°€ μ—†λŠ” default μƒμ„±μžκ°€ μžλ™μœΌλ‘œ 생성)
final ν‚€μ›Œλ“œ
β€’
클래슀 : 상속 κΈˆμ§€, ν™•μž₯ κΈˆμ§€
β€’
λ©”μ„œλ“œ : μ˜€λ²„λΌμ΄λ”© κΈˆμ§€
β€’
λ§€κ°œλ³€μˆ˜ : λ©”μ„œλ“œ 호좜둜 전달 됐을 λ•Œ λ©”μ„œλ“œ λ‚΄μ—μ„œ λ³€κ²½ 방지
β€’
ν•„λ“œ(μ§€μ—­λ³€μˆ˜, λ©€λ²„λ³€μˆ˜) : ν•œ 번만 μ΄ˆκΈ°ν™”, κ°’ λ³€κ²½ λΆˆκ°€λŠ₯
static ν‚€μ›Œλ“œ
β€’
정적 ν•„λ“œ or 클래슀 λ³€μˆ˜
β€’
method area에 ν•΄λ‹Ή
β€’
클래슀의 λͺ¨λ“  μΈμŠ€ν„΄μŠ€ 객체듀이 곡유
static final ν‚€μ›Œλ“œ
β€’
μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜ (Cμ–Έμ–΄μ˜ #DEFINE)
β€’
λ³€μˆ˜λͺ…은 λŒ€λ¬Έμž μ‚¬μš©!!!!!!
static λ©”μ„œλ“œ
β€’
instance field, methodλŠ” μ‚¬μš© λΆˆκ°€λŠ₯!
(static은 ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ μ‹œ λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ ν• λ‹Ήλ˜λŠ”λ° instanceλŠ” 객체 생성 μ‹œ 할당이라 μ‚¬μš©ν•  λ•Œ 없을 μˆ˜λ„ 있기 λ•Œλ¬Έμ—)
β€’
클래슀λ₯Ό κ°μ²΄ν™”ν•΄μ„œ instance field, methodλ₯Ό μ‚¬μš©ν•˜λŠ”κ±΄ κ°€λŠ₯
β€’
무쑰건 β€˜ν΄λž˜μŠ€λͺ….staticλ©”μ„œλ“œ()’ 둜 μ ‘κ·Ό!!!!
set, get method
β€’
set, get μž‘μ—… μ‹œ 쑰건을 μ£ΌκΈ° μœ„ν•¨
β€’
private λ³€μˆ˜μ— μ ‘
μ˜€λ²„λ‘œλ”©(Overload)
μ˜€λ²„λΌμ΄λ”©(Override)
β€’
쑰상 ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받은 λ©”μ„œλ“œλ₯Ό μžμ† ν΄λž˜μŠ€μ— 맞게 μž¬μ •μ˜ ν•˜λŠ” 것
β€’
쑰상 ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받은 λ©”μ„œλ“œλ₯Ό μžμ† ν΄λž˜μŠ€μ—μ„œ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•  수 μ—†λŠ” κ²½μš°μ— μ‚¬μš©
β€’
μ‚¬μš©μ‘°κ±΄
β—¦
이름이 κ°™μ•„μ•Ό ν•œλ‹€
β—¦
λ§€κ°œλ³€μˆ˜κ°€ κ°™μ•„μ•Ό ν•œλ‹€
β—¦
λ¦¬ν„΄νƒ€μž…μ΄ κ°™μ•„μ•Ό ν•œλ‹€ (jdk1.5λΆ€ν„° β€˜κ³΅λ³€ λ³€ν™˜νƒ€μž…β€™μœΌλ‘œ 인해 μžμ† 클래슀 νƒ€μž…μœΌλ‘œ λ³€κ²½ κ°€λŠ₯)
β€’
변경쑰건
β—¦
μ ‘κ·Ό μ œμ–΄μžλŠ” 쑰상 클래슀의 λ©”μ„œλ“œλ³΄λ‹€ 쒁은 λ²”μœ„λ‘œ λ³€κ²½ν•  수 μ—†λ‹€
β—¦
μ˜ˆμ™ΈλŠ” 쑰상 클래슀의 λ©”μ„œλ“œλ³΄λ‹€ 많이 μ„ μ–Έν•  수 μ—†λ‹€ (μ—¬κΈ°μ„œ κ°œμˆ˜λŠ” 던질 수 μžˆλŠ” μ˜ˆμ™Έμ˜ 수)
β—¦
μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλ₯Ό static λ©”μ„œλ“œ λ˜λŠ” κ·Έ λ°˜λŒ€λ‘œ λ³€κ²½ν•  수 μ—†λ‹€
μ ‘κ·Όμ œμ–΄μž
β€’
μ‚¬μš© κ°€λŠ₯ν•œ κ³³ : 클래슀, λ©€λ²„λ³€μˆ˜(cv, iv), λ©”μ„œλ“œ, μƒμ„±μž
β€’
public > protected > (default) > private
β—¦
public : μ ‘κ·Ό μ œν•œ X
β—¦
protected : 같은 클래슀, 같은 νŒ¨ν‚€μ§€, μžμ† 클래슀 O
β—¦
default : 같은 클래슀, 같은 νŒ¨ν‚€μ§€ O
β—¦
private : 같은 클래슀 O
Up-casting
β€’
μžμ‹ 클래슀의 μΈμŠ€ν„΄μŠ€κ°€ λΆ€λͺ¨ 클래슀 νƒ€μž…μ˜ λ³€μˆ˜λ‘œ μ°Έμ‘°
β€’
μ‹€μ œ μΈμŠ€ν„΄μŠ€ν™”λ˜λŠ”κ±΄ μžμ‹ ν΄λž˜μŠ€μ§€λ§Œ μžμ‹ 클래슀의 λ©”μ„œλ“œλŠ” μ‚¬μš©ν•  수 μ—†λ‹€
β€’
단, μ˜€λ²„λΌμ΄λ”© 된 λ©”μ„œλ“œλŠ” μžμ‹ 클래슀의 λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€!!
β€’
Shape shape = new Rectangle();
Down-casting
β€’
up-casting ν•œκ±Έ λ‹€μ‹œ λŒλ €λ†“λŠ”κ²ƒ
β€’
up-casting ν•΄μ„œ μžμ‹ 클래슀의 λ©”μ„œλ“œλ₯Ό μ‚¬μš© λͺ» ν•  λ•Œ down-castingν•˜λ©΄ μ‚¬μš© κ°€λŠ₯해진닀
β€’
Rectangle rec = (Rectangle) shape;

Β Chapter 8