관리 메뉴

Tech Log πŸ› οΈ

221210 곡뢀일지(1) - μžλ°” μ°Έμ‘° νƒ€μž… λ³Έλ¬Έ

TIL

221210 곡뢀일지(1) - μžλ°” μ°Έμ‘° νƒ€μž…

sehaan 2022. 12. 10. 17:23

데이터 νƒ€μž… λΆ„λ₯˜

1. κΈ°λ³Έ νƒ€μž…

- κ°’ 자체λ₯Ό μ €μž₯

  ex) μ •μˆ˜νƒ€μž… , μ‹€μˆ˜νƒ€μž… , λ…Όλ¦¬νƒ€μž…(boolean)

 

2. μ°Έμ‘° νƒ€μž…

- 객체가 μƒμ„±λœ λ©”λͺ¨λ¦¬ λ²ˆμ§€ μ €μž₯

  ex) λ°°μ—΄νƒ€μž…,μ—΄κ±°νƒ€μž…,클래슀,μΈν„°νŽ˜μ΄μŠ€

- == , != μ—°μ‚°μžλ₯Ό 톡해 λ²ˆμ§€λ₯Ό 비ꡐ할 수 μžˆλ‹€.

 

λ³€μˆ˜λ“€μ€ λͺ¨λ‘ μŠ€νƒμ˜μ—­μ— μ €μž₯ , μ°Έμ‘° νƒ€μž…μ€ νž™ λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ 객체 λ²ˆμ§€λ₯Ό μ €μž₯

 

λ©”λͺ¨λ¦¬ μ‚¬μš© μ˜μ—­

1. λ©”μ†Œλ“œ μ˜μ—­

- 클래슀 λ³„λ‘œ μƒμˆ˜ , μ •μ ν•„λ“œ , λ©”μ†Œλ“œ μ½”λ“œ , μƒμ„±μž μ½”λ“œ λ“± μ €μž₯

- λ°”μ΄νŠΈμ½”λ“œ νŒŒμΌμ„ 읽은 λ‚΄μš©μ΄ μ €μž₯

2. νž™ μ˜μ—­

- 객체가 μƒμ„±λ˜λŠ” μ˜μ—­

3. μŠ€νƒ μ˜μ—­

- λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•  λ•Œ λ§ˆλ‹€ μƒμ„±λ˜λŠ” ν”„λ ˆμž„ μ €μž₯

- 호좜이 λλ‚˜λ©΄ ν”„λ ˆμž„ μžλ™ 제거

- μ—¬λŠ” μ€‘κ΄„ν˜Έλ₯Ό λ§Œλ‚  λ•Œλ§ˆλ‹€ ν”„λ ˆμž„ ν•˜λ‚˜μ”© 생성(클래슀 μ€‘κ΄„ν˜Έ μ œμ™Έ)

 

NullPointerException 

- null 인 μƒνƒœμ—μ„œ 객체의 λ°μ΄ν„°λ‚˜ λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜λ € ν•  λ•Œ λ°œμƒ

 

가비지 컬렉터 

- μ“°λ ˆκΈ° 객체λ₯Ό 제거

- μ“°λ ˆκΈ° κ°μ²΄λŠ” μ–΄λ–€ λ³€μˆ˜μ—μ„œλ„ μ°Έμ‘°λ˜μ§€ μ•ŠμœΌλ©΄ λ°œμƒ

ex) String hobby = "μ—¬ν–‰";

      hobby = "μ˜ν™”";

      -> 여행이 μ°Έμ‘°ν•˜λŠ” κ°μ²΄λŠ” μ“°λ ˆκΈ°κ°€ λ˜λ―€λ‘œ μ œκ±°λœλ‹€.

 

λ¬Έμžμ—΄

 

λ¬Έμžμ—΄ 비ꡐ

- μžλ°”λŠ” λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μ΄ λΉ„μŠ·ν•˜λ‹€λ©΄ String 객체λ₯Ό κ³΅μœ ν•˜λ„λ‘ μ„€κ³„λ˜μ–΄ μžˆλ‹€.

- new μ—°μ‚°μžλ₯Ό 톡해 μƒˆλ‘œμš΄ 객체λ₯Ό λ§Œλ“ λ‹€λ©΄ 같은 λ¬Έμžμ—΄μ΄λΌλ„ λ‹€λ₯Έ λ²ˆμ§€λ₯Ό 가진닀.

- 객체 λ²ˆμ§€μ— 상관 없이 λ¬Έμžμ—΄λ§Œμ„ λΉ„κ΅ν•˜κ³  μ‹Άλ‹€λ©΄ equals() λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.

- 빈 λ¬Έμžμ—΄(" ")도 슀트링 객체둜 μΈμ‹ν•œλ‹€.

 

문자 μΆ”μΆœ

- charAt() λ©”μ„œλ“œλ₯Ό 톡해 μΈλ±λ“œμ˜ 문자λ₯Ό 리턴할 수 μžˆλ‹€. (0μ—μ„œλΆ€ν„° λ¬Έμžμ—΄μ˜ 길이-1)

 

λ¬Έμžμ—΄ 길이 - length() λ©”μ„œλ“œ 이용

λ¬Έμžμ—΄ λŒ€μ²΄ 

- replace() λ©”μ„œλ“œ 이용

- String 객체의 λ¬Έμžμ—΄μ€ 변경이 λΆˆκ°€λŠ₯ν•˜λ―€λ‘œ μ•„μ˜ˆ μƒˆλ‘œμš΄ 객체λ₯Ό 가진닀.

 

λ¬Έμžμ—΄ μž˜λΌλ‚΄κΈ°

- substring() 이용

  ex) substring(1,7); substring(8);

 

λ¬Έμžμ—΄ μ°ΎκΈ°

- indexOf() λ©”μ„œλ“œ 이용

- 주어진 λ¬Έμžμ—΄μ΄ μ‹œμž‘λ˜λŠ” 인덱슀λ₯Ό 리턴

   ex) indexOf("μžλ°”");

- 리턴값은 -1 or 인덱슀 번호

- contains() λ₯Ό μ΄μš©ν•΄μ„œ λ‹¨μˆœ 포함 μ—¬λΆ€ 확인 κ°€λŠ₯

- contains() 의 리턴값은 true or false

 

λ¬Έμžμ—΄ 뢄리

-  split() λ©”μ„œλ“œ 이용

- 뢄리 된 λ¬Έμžμ—΄μ„ λ°°μ—΄ ν˜•νƒœλ‘œ 얻을 수 있음

 

λ°°μ—΄

 

λ°°μ—΄μ˜ νŠΉμ§•

- 배열은 같은 νƒ€μž…μ˜ κ°’λ§Œ κ΄€λ¦¬ν•œλ‹€.

- λ°°μ—΄μ˜ κΈΈμ΄λŠ” λŠ˜λ¦¬κ±°λ‚˜ 쀄일 수 μ—†λ‹€.

 

λ°°μ—΄ λ³€μˆ˜ μ„ μ–Έ

- νƒ€μž…[] λ³€μˆ˜ , νƒ€μž… λ³€μˆ˜[] ν˜•μ‹μœΌλ‘œ μ„ μ–Έκ°€λŠ₯ (보톡 첫번째 μ‚¬μš©)

- null λ‘œλ„ μ΄ˆκΈ°ν™” κ°€λŠ₯

- λ°°μ—΄ λ³€μˆ˜λ₯Ό 미리 μ„ μ–Έν•œ ν›„μ—λŠ” κ°’ λͺ©λ‘μ„ λ³€μˆ˜μ— λŒ€μž…ν•  수 μ—†λ‹€.(new μ—°μ‚°μžλ‘œλ§Œ κ°€λŠ₯)

- new μ—°μ‚°μžλ‘œ 배열을 미리 생성할 μˆ˜λ„ μžˆλ‹€.

  ex) νƒ€μž…[] λ³€μˆ˜ = new νƒ€μž…[길이];

 

λ°°μ—΄μ˜ 길이 - 배열이름.length λ©”μ„œλ“œ 이용

 

닀차원 λ°°μ—΄

- λ°°μ—΄ ν•­λͺ© 내에 또 λ‹€λ₯Έ λ°°μ—΄ 배치

- new νƒ€μž…[1μ°¨μ›μˆ˜][2μ°¨μ›μˆ˜] 

  ex) int[][] scores = new int[2][3];

- 객체λ₯Ό μ°Έμ‘°ν•˜λŠ” 배열은 각 ν•­λͺ©μ— 객체의 λ²ˆμ§€λ₯Ό μ €μž₯

 

λ°°μ—΄ 볡사

- for λ¬ΈμœΌλ‘œλ³΅μ‚¬λ₯Ό ν•  수 μžˆλ‹€. (κ°€μž₯ 기본적)

-System.arraycopy() λ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜μ—¬ 볡사 κ°€λŠ₯

 System.arraycopy(원본배열,원본 μ‹œμž‘ 인덱슀 , μƒˆλ°°μ—΄ , μƒˆλ°°μ—΄ μ‹œμž‘μΈλ±μŠ€,볡사항λͺ©μˆ˜)

 

μ—΄κ±° νƒ€μž…

- ν•œμ •λœ 값을 κ°–λŠ” 경우 μ‚¬μš© (ex. μš”μΌ)