04.20 ์๋ฐ ์์ 9์ผ์ฐจ
์ผ์ฌ์ฐจ๊ฒ ๋ธ๋ก๊ทธ ์์ํด๋๊ณ ๊ฐ๋ ์ด ์กฐ๊ธ ์ด๋ ค์์ง๊ณ ๋ง์์ง๋๊น ์์์ ์ฅ ๊ธ๋ง ๋์ด๋ฌ๋ค.
ํ์ ๋จํก์ ์๊ฐ์๋ถ์ด ๋ธ๋ก๊ทธ๋ฅผ ๊ณต์ ํด์ฃผ์ ์ ๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ๊ฒฝํ๋๋ฐ ์ ๋ฆฌ๋ ๊น๋ํ์๊ณ ,, ๊ฐ๋ ๋ง ์ ๊ธฐ๋ณด๋จ ์ฌ๋ด๋ ์ ์ด๋์ผ์ จ๊ธธ๋ ๋๋ ์ ์ด๋ณด์๋ค.
๋ธ๋ก๊ทธ๋ฅผ ๊ฐ๋ ์ ๋ฆฌ์ ๊ธฐ๋ก์ฉ์ผ๋ก๋ง ์๊ฐํด์ ๊ทธ๋ฐ์ง ์ ๋๋ก ์ ๋ฆฌ๊ฐ ๋์ง ์์ผ๋ฉด ๊ธ๋ ์์ฌ๋ฆฌ๊ณ ์์์ ์ฅ๋ง ํ๊ธฐ๋ฅผ ๋ฒ์จ 4์ผ์งธ์ธ๋ฐ ์๋ฒฝํ๊ฒ ํ๋ คํ์ง ๋ง๊ณ ์ด๋ ต๊ฒ ์๊ฐํ์ง ๋ง๊ณ ์ผ๋จ ๊ทธ ๋ ๋ฐฐ์ด ๊ฒ์ ๊ทธ ๋ ์ฌ๋ฆฌ๊ธฐ!๋ฅผ ๋ชฉํ๋ก ๋ค์ ์ฌ๊ธฐ์ผ์ ํด๋ด์ผ๊ฒ ๋ค!
๊ทธ๋ฆฌ๊ณ ์ค๋์ ๊ฐ๋ ์ดํด ์์ฃผ ์ํ ๊ฒ ๊ฐ์,, ๋ฟ๋ฏ ใ
๋ฌธ์์ด
์์ฝ
- String์ char ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ class ์ด๋ค.
- String์๋ ๋ฌธ์์ด์ ๋ค๋ฃฐ ์ ์๋ ์ฌ๋ฌ ๋ฉ์๋ ๋ค์ด ์กด์ฌํ๋ค.
- String์์ ๋ฌธ์์ด์ ์ถ๊ฐํ ๋๋ง๋ค ๊ฐ์ฒด์ ๊ฐ์๋ ๋์ด๋๋ค.
- ๊ฐ์ฒด์ ๋จ๋ฐ์ ๋ง๊ธฐ ์ํด StringBuffer์ StringBuilder๊ฐ ์๊ฒผ๋ค.
- StringBuffer์ StringBuilder์ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ์ฒด์ ํฌ๊ธฐ๋ ์ปค์ง์ง๋ง ๊ฐ์๋ ๋์ด๋์ง ์๊ณ ํ๋์ ๊ฐ์ฒด์ด๋ค.
- StringBuffer์ StringBuilder์ ์ฐจ์ด์ ์ ๋ค์์ ์ ์ ๋์ ์ ๊ทผ์ ํ์ฉํ๋๋(StringBuilder) ํ์ง์๋๋(StringBuffer) ์ด๋ค.
String์ char ๋ฐฐ์ด์ ๋ค๋ฃจ๊ธฐ ์ํ class ์ด๋ค.
String์ด char[] ์ ๊ฐ๋ค๋ ๊ฒ.
String์๋ ๋ฌธ์์ด์ ๋ค๋ฃฐ ์ ์๋ ์ฌ๋ฌ ๋ฉ์๋ ๋ค์ด ์กด์ฌํ๋ค.
์๋ฐ์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๊ธฐ ์ํด String ์ด๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ ๊ฒ์ด๋ฏ๋ก String์ ๋ค์ํ ๋ฉ์๋๋ค์ ํ์ฉํ ์ ์๋ค.
- .charAt(์ธ๋ฑ์ค) => ์ธ๋ฑ์ค 3์ ๊ฐ์ ๋ฝ์๋ด๋ ๊ฒ์ด๋ฏ๋ก str์์ d๊ฐ ์ถ๋ ฅ๋๋ค.
- .substring(์์์ธ๋ฑ์ค,๋์ธ๋ฑ์ค) => ์์ ์ธ๋ฑ์ค ๋ถํฐ ๋ ์ธ๋ฑ์ค์ ์ ์ธ๋ฑ์ค๊น์ง!! ** ์ฃผ์ํด์ผํ๋ค. 1๋ถํฐ 5๋ก ์จ๋์ผ๋ฉด 4๋ฒ ์ธ๋ฑ์ค์ ๊ฐ๊น์ง๋ง ์ถ๋ ฅ๋๋ค.
- .toCharArray() => ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ณํ
- .split(๊ธฐ์ค) : ๊ธฐ์ค์ผ๋ก ์ค์ ํ ํน์ ๋ฌธ์์์ ๋๋๋ค. ๊ณต๋ฐฑ์ผ๋ก ์ค์ ํ ์๋ ์๋ค.
๊ฒฐ๊ณผ๊ฐ์
- .indexOf(ํน์ ๋ฌธ์(์ด)) / .lastIndexOf(ํน์ ๋ฌธ์(์ด)) : ํน์ ๋ฌธ์๊ฐ ์๋ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํด์ค๋ค. ๋จ์ ์ ์/๋ค์์๋ถํฐ ๋ฑ ํ๋๋ง ์ฐพ์์ค๋ค.
์ด๋ป๊ฒ ๋ชจ๋ "c"๋ฅผ ์ฐพ์ ์ ์์๊น?
=> indexOf๋ก c๋ฅผ ์ฐพ์ผ๋ฉด ํด๋น ์ธ๋ฑ์ค+1์ split์ ๋ฃ์ด์ฃผ์ด ์๋ผ๋ด๊ณ ๋จ์ ๋ฐฐ์ด์์ indexOf๋ก c๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์๊ฐ
=> ๋ฌธ์ ์ ์ ์ธ๋ฑ์ค๊ฐ์ด ๋ณ๋์ด ์๋ค๋ ์ !
์ฌ๊ธฐ์ ๋ด๊ฐ ์๊ฐํด๋ด์ง ๋ชปํ ๊ฒ์ ๋ฌธ์์ด์ ๋ฌธ์๋ค์ ๋ฐฐ์ด์ด๋ผ๋ ๊ฒ์ด๋ค.
๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ํ๋์ฉ ๋ฝ์์ฌ ์ ์๋ค!
๊ทธ๋ฌ๋ฉด ํ๋์ฉ ๋ฝ์์์ ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ด ์ฐพ๋ ๊ฐ์ด๋ผ๋ฉด ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํ๊ณ ๋ฐฐ์ด์ด ๋๋ ๋๊น์ง ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด ๋๋ค.
์๋ฐ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
- ์์์ ๋ดค๋ .indexOf๋ผ๋ ๋ฉ์๋๋ ์ฐพ์ผ๋ ค๋ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์๋ ค์ฃผ๋๋ฐ ์ฐพ๋ ๊ฐ์ด ๋ฐฐ์ด์ ์กด์ฌํ์ง ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.
if๋ฌธ์ด ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ์ง ๊ถ๊ธํด์ ํด๋ดค๋๋ฐ
๋ฌดํ๋ฐ๋ณต..
String์์ ๋ฌธ์์ด์ ์ถ๊ฐํ ๋๋ง๋ค ๊ฐ์ฒด์ ๊ฐ์๋ ๋์ด๋๋ค.
๊ฐ์ฒด์ ๋จ๋ฐ์ ๋ง๊ธฐ ์ํด StringBuffer์ StringBuilder๊ฐ ์๊ฒผ๋ค.
StringBuffer์ StringBuilder์ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ์ฒด์ ํฌ๊ธฐ๋ ์ปค์ง์ง๋ง ๊ฐ์๋ ๋์ด๋์ง ์๊ณ ํ๋์ ๊ฐ์ฒด์ด๋ค.
StringBuffer์ StringBuilder์ ์ฐจ์ด์ ์ ๋ค์์ ์ ์ ๋์ ์ ๊ทผ์ ํ์ฉํ๋๋(StringBuilder) ํ์ง์๋๋(StringBuffer) ์ด๋ค.
- String
- StringBuffer์ StringBuilder
๋ค์์ ์ ๋์ ์ ๊ทผ์ ๋ง๊ทธ๋๋ก ๋ด๊ฐ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋ ๋ค๋ฅธ ์ฌ๋๋ค๋ ์ ๊ทผํ๋ ๊ฒ์ ํ๋ฝํ ๊ฒ์ธ์ง ๋๋ง ์ฌ์ฉํ ๊ฒ์ธ์ง ์ฌ๋ถ์ด๋ค. ๋์ค์ ๋ ์์ธํ ๋ฐฐ์ด๋ค๊ณ ํ๋ค.
Generic (์ ๋๋ฆญ)
์์ฝ
- Generic์ ๊ฐ์ฒดํ ์ ๊ฐ์ฒด์ ๋ค์ด๊ฐ ํ์ ์ ์ง์ ํด์ค๋ค.
- Generic์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋บ ๋ ํ์ธ ์์ (Casting)์ ํ ํ์๊ฐ ์๋ค.
- Generic์ผ๋ก ์ง์ ํ๋ ํ์ ์ class๋ ๊ฐ๋ฅํ๋ค.
- ์ง์ ํ ํ์ ์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ class ํ์ ์ผ๋ก ์ง์ ํด์ฃผ๋ ๊ฒ์ด ์ ์ฉํ๋ค.
Generic์ ๊ฐ์ฒดํ ์ ๊ฐ์ฒด์ ๋ค์ด๊ฐ ํ์ ์ ์ง์ ํด์ค๋ค.
Generic์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋บ ๋ ํ์ธ ์์ ์ ํ ํ์๊ฐ ์๋ค.
- ํ๋ฐฐ๋ฅผ ๋ฐ์์ ๋ ์ก์ฅ์ด ์๋ค๋ฉด ํ๋ฐฐ๋ฅผ ์ด์ด๋ณด์ง ์์๋ ์ด๋์ ์ด๋ค ๋ฌผ๊ฑด์ ๋ณด๋ธ ๊ฑด์ง ์ ์ ์์ง๋ง ์ก์ฅ์ด ์๋ค๋ฉด ํ๋ฐฐ๋ฅผ ์ด์ด๋ณด์์ผ ์์ ์๋ ๋ฌผํ์ด ๋ฌด์์ธ์ง ์ ์ ์๋ค. ์ก์ฅ๊ณผ ๊ฐ์ ์ญํ ์ ํด์ฃผ๋ ๊ฒ์ด Generic์ด๋ค.
Generic ์ฌ์ฉ๋ฒ์ Class๋ interface ์ ์ธ ์ <T>๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
T๋ Type Parameter์ ์ฝ์ด์ผ ๋ฟ ๊ผญ T๋ฅผ ์ฌ์ฉํ ํ์๋ ์๋ค.
์ฌ๋ฌ๊ฐ์ Type์ ์ฌ์ฉํ๋ ค๋ฉด ์ฝค๋ง๋ก ๊ตฌ๋ถํด์ฃผ๋ฉด ๋๋ค. <A,B,C,D> ์ด๋ฐ ์.
Generic์ผ๋ก ์ง์ ํ๋ ํ์ ์ class๋ ๊ฐ๋ฅํ๋ค.
์ง์ ํ ํ์ ์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ class ํ์ ์ผ๋ก ์ง์ ํด์ฃผ๋ ๊ฒ์ด ์ ์ฉํ๋ค.
์ฌ๋ฌ๊ฐ์ Type์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ(์ผ์ชฝ) ์ class ํ์ ์ผ๋ก ์ง์ ํด์ ์ฌ์ฉํด์ฃผ๋ ๊ฒฝ์ฐ (์ค๋ฅธ์ชฝ)
info ํด๋์ค๋ฅผ ํ์ ์ผ๋ก ์ง์ ํด์ฃผ๋ฉด ๋ง๋ค์ด์ผ ํ ํ์ผ์ 3๊ฐ๊ฐ ๋์ง๋ง ํ์ ๋ค์ info์์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ ํธ๋ฆฌํ๋ค.
Main.java์์ ์ฌ์ฉํ ๋๋ ์ฝ๋๊ฐ ๋ ๋ณด๊ธฐ์ฝ๊ณ ๋ฐ์ดํฐ ํ์ ์ ํท๊ฐ๋ฆฌ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ค.
ํด๋์ค ํ์ ์ผ๋ก ์ฌ์ฉํ ๋์ ์ฅ์ ์ ์ดํดํ๊ธฐ ์ฌ์ด ๊ทธ๋ฆผ์ด ์๋ค.
ํฐ ์์(Info) ์์ ์์ ์์(๋ณ์)๋ค์ ๋ฃ์ผ๋ฉด ๊บผ๋ผ ๋์ ๋ฃ์ ๋ ํฐ ์์์์ ์์ ์์๋ค์ ๊บผ๋ด์ผํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผํ์ง๋ง ๋ค๊ณ ์ฎ๊ธฐ๊ธฐ(๊ด๋ฆฌ)์๋ ํฐ ์์ ํ๋๋ฅผ ๋๋ ๊ฒ์ด ์์ ์์๋ค์ ์์ ์ฎ๊ธฐ๋ ๊ฒ๋ณด๋ค ์ฝ๋ค.
์ค๋ ์ฒ์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํด๋ดค๋๋ฐ ๋จธ๋ฆฌ๋ก ์ดํดํ๊ณ ์๋ ๊ฒ์ ์ฃผ์์ผ๋ก ์ค๋ช ํ๊ธฐ๊ฐ ์ฐธ ์ด๋ ค์ ๋ค. ๋ ํด๋น ์ฝ๋๋ฅผ ์ด ์ด์ ๋ฅผ ํ๋ํ๋ ๋ฏ์ด๋ณด๊ฒ ๋๋ ๋ชจ๋ฅด๊ณ ์๋ ๋ถ๋ถ๋ ์ก์๋ผ ์ ์์๋ค.
์์ง ๋ช ํํ๊ฒ ์ค๋ช ํ์ง ๋ชปํ๋ ๋ถ๋ถ์ if๋ฌธ์ ์กฐ๊ฑด์ ์ intResult > -1์ด ๋ค์ด๊ฐ๋์ง!!!! ์ดํด๋ ํ๋๋ฐ ๋ช ํํ๊ฒ ๋ง๊ณผ ๊ธ๋ก ํ์ด๋ด๊ธฐ๊ฐ ์ฝ์ง ์๋ค.
2022-04-20
'Back-End > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA, SPRING ๊ธฐ์ ๋ฉด์ ์ ๋ฆฌ (0) | 2022.09.06 |
---|---|
์๋ฐ] ์กฐ๊ฑด๋ฌธ-switch, ๋ฐ๋ณต๋ฌธ, ๋ฐฐ์ด, ํฅ์๋ for๋ฌธ (0) | 2022.04.12 |
STS /์ดํด๋ฆฝ์ค] ์ฌ์ฉ๋ฒ (๊ณ์ ์ถ๊ฐ) (0) | 2022.04.08 |
[์๋ฐ] JAVA, STS ์ค์น (0) | 2022.04.07 |
[์๋ฐ] ์๋ฐ ๊ธฐ์ด ๊ฐ๋ (0) | 2022.04.07 |