๐ง ๋ณธ๊ฒฉ 1์ฃผ์ฐจ ํ์ต ์ ์ ...
์ฐ์ ์ด์ ์ ํท๊ฐ๋ ธ๊ฑฐ๋ ๋ถ์กฑํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ ๋จผ์ ์ฑ์๋ฃ๊ณ ์ถ์ด์, ์ ํ ๊ฐ์ ์ค์์ ํ์ํ ๋ถ๋ถ์ ์ฐพ์ ๋ค์๋ค.
๐ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ณต์ฌ
System.arraycopy(src, srcPos, dest, destPos, length)
- scr ๋ฐฐ์ด์ srcPos ์์น๋ถํฐ length๊ธธ์ด ๋งํผ์ ๋ฐฐ์ด์ ๋ณต์ฌํ์ฌ, dest ๋ฐฐ์ด์ destPos ์์น์ ๋์ (๐จ destPos ์์น๋ถํฐ ๋ง์ง๋ง ๋ฐฐ์ด ์์์ ๊ธธ์ด๊ฐ length ๋ณด๋ค ์งง๋ค๋ฉด ์ค๋ฅ)
- ๋๊ฐ์ ๋ฐฐ์ด์ด ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํด
(= ์์ ๋ณต์ฌ) - ์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ณต์ฌํ๋ฉด ๊ฐ์ฒด ์ฃผ์๋ง ๋ณต์ฌ๋์ด ํ์ชฝ ๋ฐฐ์ด์ ์์๋ฅผ ์์ ํ๋ฉด ๊ฐ์ด ์์ ๋จ
๊น์ ๋ณต์ฌ
-
๋๋ณด๊ธฐ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๊ทธ ๊ฐ์ฒด์ ๊ฐ์ ๋ณต์ฌํ์ฌ ๋ฐฐ์ด์ด ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํจ
for (int i = 0; i < library.length; i++) { // ๊น์ ๋ณต์ฌ
copyLibrary[i].setAuthor(library[i].getAuthor());
copyLibrary[i].setTitle(library[i].getTitle());
}
// set, get ๋ฉ์๋๋ ๋ฐ๋ก ์ ์
โก ArrayList
: ๊ฐ์ฒด ๋ฐฐ์ด์ ์ข๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์๋ฐ์์ ์ ๊ณตํด ์ฃผ๋ ํด๋์ค
๋ฐฐ์ด :
- ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ์ธ ๋ฐ๋ฉด ArrayList๋ ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ์ ์ผ๋ก ๋ณํ
- ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ฉด ๋ค๋ฅธ ์์๋ค์ ์ด๋์ ๋ํ ๊ตฌํ์ ํด์ผ ํจ
1) ArrayList ์์ฑ
ArrayList๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์์ ๊ตฌ๋ฌธ์ ์
๋ ฅํ์ฌ import ํด์ค๋ค.
import java.util.ArrayList;
ArrayList ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
// ํ์
์ง์
ArrayList<String> name1 = new ArrayList<String>();
// ํ์
์๋ต ๊ฐ๋ฅ
ArrayList<String> name2 = new ArrayList<>();
2) ArrayList ์์ ์ถ๊ฐ/๋ณ๊ฒฝ
- ์์(elements)๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์๋ add() ๋ฉ์๋๋ฅผ ์ด์ฉ
ex. name1.add("์ถ์์ด") - ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋ set() ๋ฉ์๋ ์ด์ฉ
ex. name2.set(0,"๋ผ์ด์ธ")
3) ArrayList ์์ ์ญ์
์์๋ฅผ ์ญ์ ํ๊ธฐ ์ํด์๋ remove(),clear() ๋ฉ์๋ ์ด์ฉ
- remove()
→ ๊ฐ์ ์ง์๊ณผ ๋์์ ํด๋น ๊ฐ์ผ๋ก ๋ณ๋์ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ๋ฆฌํด์ ๋ฐ์์ ์ฌ์ฉ
// ์ธ๋ฑ์ค๋ฅผ ํตํ ์์ ์ญ์
String removedName = name1.remove(0)
// ์์๋ฅผ ์ด์ฉํ ์์ ์ญ์
name1.remove("์ถ์์ด")
- clear()
: ์ ์ฒด ์์๋ฅผ ์ญ์ ํ๊ธฐ ์ํด์๋ clear() ๋ฉ์๋ ์ฌ์ฉ
๐ฉ 1์ฃผ์ฐจ ํ์ต ๋ด์ฉ
๐ฆ ๊ฐ์ฒด
: ๊ตฌ์ฒด์ , ์ถ์์ ๋ฐ์ดํฐ์ ๋จ์
๐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ vs ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ
์ ์ฐจ ) ์ฌ๊ฑด์ ํ๋ฆ์ ๋ฐ๋ฅธ ํ๋ก๊ทธ๋๋ฐ
๊ฐ์ฒด ) ๊ฐ์ฒด๋ค ๊ฐ ์ํธ์์ฉ์ ํตํ ํ๋ก๊ทธ๋๋ฐ
โ๏ธ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ
: ๊ฐ์ฒด ์ ์, ์ ๊ณตํ๋ ๊ธฐ๋ฅ ๊ตฌํ, ๊ธฐ๋ฅ๋ค ๊ฐ ์ํต์ ํตํด ํ๋ ฅ ๊ตฌํ
* ์๋ฐ ํ์ผ ํ๋์ ์ฌ๋ฌ๊ฐ์ ํด๋์ค๊ฐ ์์ ์ ์์ง๋ง, public ํด๋์ค๋ ํ๋
* ๊ฐ์ฒด์ ์์ฑ์ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์๋ก ๊ตฌํ
โ ํจ์๋
- ํ๋์ ๊ธฐ๋ฅ์ ์ํํ๋ ์ผ๋ จ์ ์ฝ๋
โ ๋ฉ์๋
- ๊ฐ์ฒด์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ํด๋์ค ๋ด๋ถ์ ๊ตฌํ๋๋ ํจ์
- ๋ฉค๋ฒ ํจ์ (member function)์ด๋ผ๊ณ ๋ ํจ
๐ ๋ณ์์ ์๋ฃํ
- ๊ธฐ๋ณธ ์๋ฃํ (int, long, double ...)
- ์ฐธ์กฐ ์๋ฃํ (String, Student ...)
* ์ฐธ์กฐ ์๋ฃํ
1) ํด๋์คํ์ผ๋ก ๋ณ์ ์ ์ธ
2) ์ฌ์ฉ ํ ๋๋ ํด๋น ๋ณ์์ ๋ํด ์์ฑํ์ฌ์ผ ํจ
* String ์์ธ
๐ ์ ๊ทผ ์ ์ด ์ง์์
- ํด๋์ค ์ธ๋ถ์์ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์, ๋ฉ์๋, ์์ฑ์๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ง์ ํ๋ ํค์๋
- private : ๊ฐ์ ํด๋์ค ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ (์ธ๋ถ ํด๋์ค, ์์ ๊ด๊ณ์ ํด๋์ค์์ ์ ๊ทผ ๋ถ๊ฐ)
- default (์๋ต๊ฐ๋ฅ) : ๊ฐ์ ํจํค์ง ๋ด๋ถ์์๋ง ์ ๊ทผ ๊ฐ๋ฅ ( ์์ ๊ด๊ณ๋ผ๋ ํจํค์ง๊ฐ ๋ค๋ฅด๋ฉด ์ ๊ทผ ๋ถ๊ฐ)
- protected : ๊ฐ์ ํจํค์ง๋ ์์๊ด๊ณ์ ํด๋์ค์์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ๊ทธ ์ธ ์ธ๋ถ์์๋ ์ ๊ทผ ํ ์ ์์
- public : ํด๋์ค์ ์ธ๋ถ ์ด๋์๋ ์ ๊ทผ ํ ์ ์์
๐๏ธ static ๋ณ์
: ์ฌ๋ฌ ์ธ์คํด์ค์์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ํ์
- ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ๋ง๋ค์ด์ง๋ ๋ณ์๊ฐ ์๋, ์ฒ์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น
- ํด๋์ค ๋ณ์, ์ ์ ๋ณ์๋ผ๊ณ ๋ ํจ (vs. ์ธ์คํด์ค ๋ณ์)
- ์ธ์คํด์ค ์์ฑ๊ณผ ์๊ด ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ฏ๋ก ํด๋์ค ์ด๋ฆ์ผ๋ก ์ง์ ์ฐธ์กฐ
๐ซฅ ์๋กญ๊ฒ ์๊ฒ ๋ ์ , ์ข์๋ ์
- ๊ณต๋ถ๋ฅผ ํ ๋๋ง๋ค ํจ์์ ๋ฉ์๋์ ๊ฒฝ๊ณ๊ฐ ๋ถ๋ช ํ์ง ์๊ณ ๊ฐ๋ค๊ณ ์ทจ๊ธํ ๋๊ฐ ๋ง์์ ์๋ฐ์์๋ ํจ์ == ๋ฉ์๋ ๋ผ๊ณ ์๊ฐํ๋๋ฐ, ๋ฉ์๋๋ 'ํจ์์ ์ผ์ข '์ผ๋ก ํด๋์ค ๋ด ๊ตฌํ๋ ํจ์๋ผ๋ ๊ฒ์ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ์๊ฒ ๋์๋ค.
- ArrayList์ ๋ฐฐ์ด์ ์ฐจ์ด์ ๋ํด์ ํ๋ฒ ๋ ์ ํํ๊ฒ ์ ๋ฆฌํด ๋ณด๋ฉด์ ArrayList๊ฐ ๋ง์ด ์ฐ์ผ ์ ๋ฐ์ ์๋ ์ด์ ๋ฅผ ์ ์ ์์๋ค.
- ์ด๋ฒ ์ฃผ์ฐจ ๋ด์ฉ์ ์ด๋ฏธ ํ๋ฒ์ฉ ๊ณต๋ถํ๋ ๋ด์ฉ์ด์ง๋ง ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ํ๋ฒ, ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ๋ฉด์ ํ๋ฒ ๋์๊ธฐ๋ค๋ณด๋ ๊ฐ์๋ก๋ง ๋ฃ๋ ๊ฒ๋ณด๋ค ๋จธ๋ฆฌ ์์ ํจ์ฌ ๋ง์ด ๋จ์์๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
- ๊ฐ๋ ์ ์ธ ๋ด์ฉ์ ์์ด๋ฒ๋ฆด ๋๊ฐ ๋ง์๋ฐ ๊ทธ๋ด ๋๋ง๋ค ๋ค์ด์์ ํ๋ฒ์ฉ ์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
1์ฃผ์ฐจ ํ๋ ํ๊ธฐ !!
๐ฅ 1์ฃผ์ฐจ ํ๋ ์์
๋๋์ด 1์ฃผ์ฐจ ํ๋์ด ์์๋์๋ค.
๊ฑฑ์ ๋ฐ ๊ธฐ๋ ๋ฐ์ผ๋ก ์์ํ๋๋ฐ ์์ง 1์ฃผ์ฐจ๋ผ ๊ทธ๋ฐ์ง ๋ฐฐ์ฐ๋ ๋ด์ฉ์ด ์ด๋ ต์ง๋ ์์๋ค.
๊ทธ๋ฃน๋ ๋ง๋ค์ด์ง๊ณ , ์นดํ
์ผ 1๊ธฐ ์ ์นญ๋ ์๊ฒผ๋ค ! (๐ช's)
์ฌ๋์ผ๋ก ์ํต์ ํด์ ์ ๋ ์๋ฆผ์ ์ ํ์ธํ ์ ์์๊น ์๊ฐ์ ํ๋๋ฐ ๋ชจ๋ฐ์ผ๋ก ๊น์๋๋ ์๋ฆผ์ด ๋๋ฌด ์์์ ์ํต์ผ๋ก ๊ฑฑ์ ํ ํ์๋ ์์ ๋ฏ ํ๋ค.
๐ฅ๏ธ ๊ฐ์ ๋ฐฉ์
๊ฐ์๋ ํจ์คํธ ์บ ํผ์ค ๊ฐ์๋ก, ํ์ ๊ฐ์์ ์ ํ ๊ฐ์๋ก ๋๋์ด์ ธ ์๋๋ฐ ์ ํ ๊ฐ์ ์ค์์ ๋ค์ผ๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์ ๊ฐ์๊ฐ ๋ง์์ ์ฒ์ฒํ ๋ค ๋ค์ด ๋ณด๊ณ ์ถ๋ค.
๊ทธ์น๋ง ์์ง ํ์ ๋ด์ฉ๋ ํค๋งค๋ ๋.. ์์ผ๋ก๋ ์ด์ฌํ ํด์ผํ ๋ฏ ํ๋ค
๐ฅ ์กฐ๋ณ ๋ชจ์ ?
2์ฃผ์ฐจ ๊น์ง๋ ์ํ๊ธฐ๊ฐ๊ณผ ๊ฒน์ณ ์์ด ์กฐ์๋ค๊ณผ ๋ง๋์ง๋ ์์ ๊ฒ ๊ฐ๊ณ 3์ฃผ์ฐจ๋ถํฐ ๋น๋๋ฉด/๋๋ฉด์ผ๋ก ๊ฐ์ด ๊ณต๋ถ๋ฅผ ํ๊ฑฐ๋ ๊ทธ๋ด ๊ฒ ๊ฐ๋ค.
์ผ๋จ ๋ค์์ฃผ๊น์ง๋
- ํ์ ๊ฐ์ ์ด์ฌํ ๋ฃ๊ธฐ
- ์ฃผ์ฐจ๋ณ ํ์ต์ผ์ง ์ด์ฌํ ์ฐ๊ธฐ
- ์ํ ๊ณต๋ถ๊น์ง ...
๊ฐ ๋ชฉํ์ด๋ค.
1์ฃผ์ฐจ WIL(Week I Learned) ๋ !!
์ฐธ๊ณ ์๋ฃ :
1. https://gitlab.com/easyspubjava/javacoursework/-/blob/master/Chapter2/2-21/README.md
2. https://psychoria.tistory.com/765
3. https://www.codelatte.io/courses/java_programming_basic
'๐ช kakaotech campus' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์นดํ ์ผ | ๐ ์นด์นด์คํ ํฌ ์บ ํผ์ค 1๋จ๊ณ ์๋ฃ ํ๊ธฐ (0) | 2023.06.17 |
---|---|
DB | ํธ๋์ ์ (Transaction) (0) | 2023.06.10 |
SQL | ํ์ด์ง๋ค์ด์ (0) | 2023.06.10 |
์นดํ ์ผ | SNS ๋ชจ๋ธ๋ง (Swagger UI) (2) | 2023.06.04 |
๐ ์นด์นด์คํ ํฌ ์บ ํผ์ค 1๊ธฐ ํฉ๊ฒฉ ํ๊ธฐ (8) | 2023.05.23 |