- ์๋ฐ
1. ์๋ฐ์ ํน์ง
1. ๊ฐ์ฒด ์งํฅ ์ธ์ด์ด๋ค. (๊ฐ์ฒด ์งํฅ ์ธ์ด๋ ์์ค๋ฅผ ๋ถํ์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์ํด ์๊ธด ๊ฐ๋ )
2. ์ด์์ฑ์ด ๋๋ค.
3. ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ถํ๋ค.
4. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ค. (๊ฐ๋น์ง ์ปฌ๋ ์ )
5. ํจ์์ ์คํ์ผ ์ฝ๋ฉ์ ์ง์ํ๋ค. (์๋ฐ 8๋ถํฐ ๋๋ค์ ์ง์)
-> ์ฆ, ๋จ์ ์์ค๋ฅผ ํธํ๊ฒ ์ธ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค.
2. ์๋ฐ์ ์ฅ๋จ์
1. ์ฅ์ : ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก ์์ค๋ฅผ ๋ถํ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ด ๊ฒฐํฉ๋๊ฐ ๋ฎ๋ค. ์ด์์ฑ์ด ๋์ ์์ค ํ์ผ์ ์์ ํ์ง ์์๋ JRE๊ฐ ์ค์น๋ ๋ชจ๋ ์ด์์ฒด์ ์์ ์คํ ๊ฐ๋ฅํ๋ค. ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ถํ์ฌ ์ฝ๊ฒ ๊ฐ๋ฐ ๊ฐ๋ฅํ๋ค. ๋์ ๋ก๋ฉ์ ์ง์ํด ์ ์ง๋ณด์๊ฐ ์ฝ๊ณ ๋น ๋ฅด๋ค.
2. ๋จ์ : ์คํ ์๋๊ฐ ๋ค๋ฅธ ์ธ์ด๋ณด๋ค ๋๋ฆฌ๋ค. JVM์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๋ค. JVM์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋์จ์ด๋ฅผ ์ง์ ์ ๋ฐํ๊ฒ ์กฐ์ ํด์ผํ๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ ์ ํฉํ์ง ์๋ค. ์์ธ์ฒ๋ฆฌ๊ฐ ํ์์ ์ด๋ค. ์ฝ๋๊ฐ ๊ธธ๋ค.
3. ์ธํฐํ์ด์ค์ ์ถ์ ํด๋์ค์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ?
1. ์ธํฐํ์ด์ค : ๊ฐ์ฒด์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ ์ํ ํ์
์ด๋ค.
- ๊ฐ์ฒดํ๊ฐ ๋ถ๊ฐ๋ฅํ๊ณ , ๋ถ๋ฅ๊ฐ ์๋ ๊ท๊ฒฉ์ด๊ธฐ ๋๋ฌธ์ ๋ณต์๊ฐ์ ์ธํฐํ์ด์ค ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. ์ต๋ช
๊ฐ์ฒด ์ฌ์ฉ ๊ฐ๋ฅ, ์ค์ฒด ํด๋์ค๊ฐ implementsํ์ฌ ์ฌ์ฉํ๋ค.
2. ์ถ์ ํด๋์ค : ์ค์ฒด ํด๋์ค์ ๊ณตํต์ ์ธ ํน์ฑ์ ์ถ์ถํด์ ์ ์ธํ ํด๋์ค์ด๋ค.
- ์์๊ฐ์ฒด๋ง ๊ฐ์ฒดํ ๊ฐ๋ฅํ๊ณ , 1๊ฐ์ ์ถ์ ํด๋์ค๋ง ์์ ๊ฐ๋ฅํ๋ค. ์ค์ฒด ํด๋์ค๊ฐ extends ํ์ฌ ์ฌ์ฉํ๋ค.
4. ์ธํฐํ์ด์ค๊ฐ ์ ํ์ํ๊ฐ?
- ์ธํฐํ์ด์ค๋ ์ฌ์ฉ๋ฐฉ๋ฒ์ ์ ์ํ๊ณ ๊ณต๋ ์์
์ ๊ท๊ฒฉ์ ์ ์ํ ์ ์๋ค.
- ์ฝ๋ ๋ณ๊ฒฝ ์์ด ์คํ ๋ด์ฉ๊ณผ ๋ฆฌํด๊ฐ์ ๋ค์ํํ ์ ์๋ค.
5. ํด๋์ค, ๊ฐ์ฒด, ์ธ์คํด์ค์ ์ฐจ์ด?
- ํด๋์ค๋ ์๋ณธ, ๊ฐ์ฒดํ๋ ํด๋์ค๋ฅผ ๋ณต์ฌํ๋ ๊ฒ, ์ธ์คํด์ค๋ ๋ณต์ฌ๋ณธ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
1) ํด๋์ค : ๊ฐ์ข ๋ฉ์๋์ ํ๋ ๋ฑ์ ๋ด๋ ๋ถ๋ฅ
2) ๊ฐ์ฒด : ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๊ฑฐ๋ ์ถ์์ ์ผ๋ก ์๊ฐํ ์ ์๋ ๊ฒ ์ค์์ ์์ ์ ์์ฑ์ ๊ฐ์ง๊ณ ๋ค๋ฅธ ๊ฒ๊ณผ ์๋ณ ๊ฐ๋ฅํ ๊ฒ
ex) ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๋ ์๋์ฐจ, ์์ ๊ฑฐ, ์ฑ
, ์ฌ๋ / ์ถ์์ ์ธ ํ๊ณผ, ๊ฐ์, ์ฃผ๋ฌธ
3) ์ธ์คํด์ค : ํด๋์ค๋ก๋ถํฐ ๋ง๋ค์ด์ง ๊ฐ์ฒด๋ฅผ ํด๋น ํด๋์ค์ ์ธ์คํด์ค๋ผ๊ณ ํ๋ค.
ํด๋์ค์ ํ์
์ผ๋ก ์ ์ธ๋์์ ๋ ๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฅด๊ณ , ๊ทธ ๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์ค์ ์ฌ์ฉ๋ ๋ ์ธ์คํด์ค๋ผ๊ณ ํ๋ค. ์ธ์คํด์ค๋ ์๋ณธ(ํด๋์ค)์ผ๋ก๋ถํฐ ์์ฑ๋ ๋ณต์ฌ๋ณธ.
6. ์ค๋ฒ๋ผ์ด๋์ ์ค๋ฒ๋ก๋์ ์ฐจ์ด
1) ์ค๋ฒ๋ก๋๋ ๊ณผ์ ์ด๋ ๋ป์ผ๋ก, ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ๋ ๊ฒ์ด๋ค. ๋จ, ๋งค๊ฐ๋ณ์์ ๊ฐฏ์๋ ํ์ ์ ๋ฌ๋ผ์ผ ํ๋ค.
2) ์ค๋ฒ๋ผ์ด๋๋ ์์๋ฐ์ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ด๋ค.
7. ์ฑ๊ธํค ํจํด์ ์ฌ์ฉํ๋ ์ด์
- ์ฑ๊ธํค ํจํด์ 'ํ๋'์ ์ธ์คํด์ค๋ง ์์ฑํ์ฌ ์ฌ์ฉํ๋ ๋์์ธ ํจํด์ด๋ค. ์ธ์คํด์ค๊ฐ ํ์ํ ๋, ๋๊ฐ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ง ์๊ณ ๊ธฐ์กด์ ์ธ์คํด์ค๋ฅผ ํ์ฉํ๋ ๊ฒ.
- ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ ๋น๋ฐ์์ผํ๋๋ฐ, ํ ๋ฒ์ new๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐฉ์ง๋๋ค.
๋ํ ์ฑ๊ธํค์ผ๋ก ๊ตฌํํ ์ธ์คํด์ค๋ '์ ์ญ'์ด๋ฏ๋ก, ๋ค๋ฅธ ํด๋์ค์ ์ธ์คํด์ค๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
8. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง
์บก์ถ๋ค์
1) ์บก์ํ(Encapsulation) : ๊ฐ์ฒด์ ํ๋, ๋ฉ์๋๋ฅผ ํ๋๋ก ๋ฌถ๊ณ , ์ค์ ๊ตฌํ ๋ด์ฉ์ ๊ฐ์ถ๋ ๊ฒ. ์๋ฐ๋ ์ ๊ทผ ์ ํ์๋ฅผ ํตํด ๊ฐ์ฒด์ ํ๋์ ๋ฉ์๋์ ์ฌ์ฉ ๋ฒ์๋ฅผ ์ ํํ๋ค(๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ์
/์ถ๋ ฅ์ ์ ํ).
2) ์ถ์ํ(Abstraction) : ์ค์ฒด ๊ฐ์ ๊ณตํต๋๋ ํน์ฑ์ ์ถ์ถํ์ฌ ๋จ์ํ ์ํค๋ ๊ฒ์ด๋ค.
- ์ถ์ ํด๋์ค๋ ์ถ์ ๋ฉ์๋๋ก ๊ผญ ๊ตฌํํด์ผ ํ๋ ๋ฉ์๋ ๋ฑ์ ๊ท๊ฒฉ์ ๋ง๋ค ์ ์๊ณ , ์์ ์ด์ธ์ ๊ฐ์ฒดํ ์ํฌ ์ ์๋ค.
- ์ค์ฒด ํด๋์ค๊ฐ ์ถ์ ํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉด ์ถ์ ๋ฉ์๋๋ฅผ ๊ฐ์ ๋ก ์ค๋ฒ๋ผ์ด๋ ํ๊ฒ ๋๋ค.
3) ๋คํ์ฑ(Polymorphism) : ๊ฐ์ ํ์ ์ด์ง๋ง ์คํ ๊ฒฐ๊ณผ๊ฐ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ ์ ์๋ ์ฑ์ง. ์์ ๊ฐ์ฒด๊ฐ ๋ถ๋ชจ ๊ฐ์ฒด ํํ์ ๋ณ์์ ๋ค์ด๊ฐ ์ ์๋ค. ๋จ, ๋ถ๋ชจ ํํ์ ๋ณ์์ ๋ค์ด๊ฐ๋ฉด ์์ ๊ณ ์ ์ ๊ธฐ๋ฅ์ ์ธ ์ ์๋ค.
4) ์์(Inheritance) : ์์ ๊ฐ์ฒด๋ ์๊ธฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋์ ๋ฉ์๋๋ฅผ ํ์ ๊ฐ์ฒด์๊ฒ ๋ฌผ๋ ค์ฃผ์ด ํ์ ๊ฐ์ฒด๊ฐ ์๋ ๋ด ๊ฒ ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค.
- ๋ฐ๋ณต๋ ์ฝ๋์ ์ค๋ณต์ ์ค์ฌ์ค๋ค. ์์๊ฐ์ฒด์ ์์ ์ผ๋ก ๋ชจ๋ ํ์ ๊ฐ์ฒด๋ค์ ์์ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ฏ๋ก ์ ์ง ๋ณด์ ์๊ฐ์ ์ต์ํ ์์ผ์ค๋ค.
- spring
1. try-catch ์ throw์ ์ฐจ์ด
1) ์์ธ์ฒ๋ฆฌ : ์์ธ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ์์ค๋ฌ์ด ์ข ๋ฃ๋ฅผ ๋ง๊ณ , ์ ์ ์คํ์ ์ ์งํ ์ ์๋๋ก ์ฒ๋ฆฌํ๋ ์ฝ๋
2. DI ์ IOC ์ ๋ํ ์ค๋ช , IOC๊ฐ ํ์ํ ์ด์
3. Framework ์ Library ์ ์ฐจ์ด
4. filter ์ intersector ์ ์ฐจ์ด
5. AOP ๋ ๋ฌด์์ธ๊ฐ
6. transaction ์ด ํ์ํ ์ด์
7. mvc ํจํด์ด ๋ฌด์์ธ์ง ์ค๋ช ํ๊ณ ์ฅ์ ์ ์์ ํ๋ผ.
'Back-End > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐ] ๋ฌธ์์ด๊ณผ ์ ๋๋ฆญ (String & Generic) (0) | 2022.04.20 |
---|---|
์๋ฐ] ์กฐ๊ฑด๋ฌธ-switch, ๋ฐ๋ณต๋ฌธ, ๋ฐฐ์ด, ํฅ์๋ for๋ฌธ (0) | 2022.04.12 |
STS /์ดํด๋ฆฝ์ค] ์ฌ์ฉ๋ฒ (๊ณ์ ์ถ๊ฐ) (0) | 2022.04.08 |
[์๋ฐ] JAVA, STS ์ค์น (0) | 2022.04.07 |
[์๋ฐ] ์๋ฐ ๊ธฐ์ด ๊ฐ๋ (0) | 2022.04.07 |