ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ ๋ฆฌ
1. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming)
1. ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ(Procedural Programming) ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌผ์ด ์์์ ์๋๋ก ํ๋ฅด๋ ๊ฒ์ฒ๋ผ ์์ฐจ์ ์ธ ์ฒ๋ฆฌ๊ฐ ์ค์์๋๋ฉฐ ํ๋ก๊ทธ๋จ ์ ์ฒด๊ฐ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ
tech-interview.tistory.com
2. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
2022.07.10 - [๐ Language/โ Language] - ํจ์ํ ํ๋ก๊ทธ๋๋ฐ(Functional Programming)
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ(Functional Programming)
ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์(Programming Paradigm) ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ: ๋ฌด์(What)์ ํ ๊ฒ์ธ์ง ๋ํ๋ด๊ธฐ๋ณด๋ค ์ด๋ป๊ฒ(How) ํ ๊ฑด์ง๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์ ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(C): ์ํ๋์ด์ผ ํ ์์ฐจ์ ์ธ ์ฒ๋ฆฌ ๊ณผ
tech-interview.tistory.com
3. ์ธํฐํ๋ฆฌํฐ์ ์ปดํ์ผ๋ฌ
2022.07.10 - [๐ Language/โ Language] - ์ธํฐํ๋ฆฌํฐ(Interpreter)์ ์ปดํ์ผ๋ฌ(Compiler)
์ธํฐํ๋ฆฌํฐ(Interpreter)์ ์ปดํ์ผ๋ฌ(Compiler)
์ธํฐํ๋ฆฌํฐ(Interpreter)์ ์ปดํ์ผ๋ฌ(Compiler) ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ๊ฐ ์์๋ฃ๊ธฐ ์ํด์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ๊ณผ์ ์ด ํ์ํ๋ค. ๊ทธ ๊ณผ์ ์ ์ธ์ด์ ๋ฐ๋ผ ์ปดํ์ผ(compile) ํน์ ์ธํฐ
tech-interview.tistory.com
4. ๋ฉ๋ชจ๋ฆฌ ๋์
2022.07.10 - [๐ Language/โ Language] - ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)์ ๊ฐ๋ ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)์ ๊ฐ๋ ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak) ๋ฉ๋ชจ๋ฆฌ ๋์๋ ๋์ ํ ๋นํ ๋ค ํด์ ๋ฅผ ํ์ง ์์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ณ์ ์ ์งํ์ฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด ๋ฐ์ํ๋ ํ์์ด๋ค. ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๊ณ์๋๋ฉด ๊ฒฐ๊ตญ OOM(Out Of
tech-interview.tistory.com
5. ์ปดํ์ผ ๊ณผ์
2022.08.13 - [๐ Language/โ Language] - ์ปดํ์ผ ๊ณผ์
์ปดํ์ผ ๊ณผ์
์ปดํ์ผ ๊ณผ์ 1) C++ ์ ์ฒ๋ฆฌ๊ธฐ: ์์ค ํ์ผ์ ์ฒ๋ฆฌํ๋ ์ปดํ์ผ๋ฌ์ ํ ๋ถ๋ถ์ผ๋ก ์์ ๋ ์์ค ํ์ผ์ ์์ฐํ๊ณ ์์ ๋ ์์ค ํ์ผ์ ๋ค์ ๋จ๊ณ์ ์ปดํ์ผ๋ฌ์ ์ํด ๋ณธ๊ฒฉ์ ์ผ๋ก ์ปดํ์ผ๋๋ค. #define, #incl
tech-interview.tistory.com
C++ ์ ๋ฆฌ
1. STL ์ปจํ ์ด๋
2020.05.14 - [๐ Language/โ C & C++] - [C++] STL ์ปจํ ์ด๋(Containers)
[C++] STL ์ปจํ ์ด๋(Containers)
1. ์์(์ํ์ค) ์ปจํ ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ํ์ผ๋ก ์ ์ฅํ๋ ์ปจํ ์ด๋๋ก ๊ฒ์ ์ฑ๋ฅ์ด ์ข์ง ์๋ค. 1) Vector ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ปจํ ์ด๋๋ก ์์๋ค์ด ์ธ์ ํด ์์ด์ ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. 2) Deque Vector์ ๊ธฐ๋ฅ
tech-interview.tistory.com
2. Call by value์ Call by reference
2020.05.14 - [๐ Language/โ C & C++] - [C++] Call by value์ Call by reference
[C++] Call by value์ Call by reference
Call by value ๊ฐ์ ์ํ ํธ์ถ ํจ์ ํธ์ถ ์ ์ธ์๋ก ๋ณ์์ ๋ณต์ฌ ๊ฐ์ ์ ๋ฌํ๋ค. ์ด๋ ๋ณต์ฌ๋ ์ธ์๋ ํจ์ ์์์ ์ง์ญ์ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ local value์ ์์ฑ์ ๊ฐ์ง๋ค. ๋ฐ๋ผ์ ํจ์ ์์์ ์ธ์
tech-interview.tistory.com
3. ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ
[C++] ์ค๋ฒ๋ก๋ฉ(Overloding)๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ(Overriding)
์ค๋ฒ๋ก๋ฉ(Overloding) ์ค๋ฒ๋ก๋ฉ์ด๋ ํจ์์ ์ด๋ฆ์ ๊ฐ๊ณ ๋งค๊ฐ๋ณ์๋ฅผ ๋ค๋ฅด๊ฒ ํจ์ผ๋ก์จ ๋งค๊ฐ ๋ณ์์ ๋ฐ๋ผ ๋ค๋ฅธ ํจ์๊ฐ ์คํ๋๋ ๊ฒ์ด๋ค. int add(int a, int b) { return a + b; } // ์ํจ์ float add(int a, int..
tech-interview.tistory.com
4. ์์ ๋ณต์ฌ์ ๊น์ ๋ณต์ฌ
[C++] ์์ ๋ณต์ฌ(Shallow Copy)์ ๊น์ ๋ณต์ฌ(Deep Copy)
๊ธฐ์กด ๊ฐ์ฒด์ ๊ฐ์ ๊ฐ์ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ ๋ ๊ฐ ํ์์ด๋ ์ฐธ์กฐ ํ์์ด๋์ ๋ฐ๋ผ ๋ณต์ฌ๊ฐ ๋๋์ด์ง๋ค. ์์ ๋ณต์ฌ(Shallow Copy) ํ ๊ฐ์ฒด์ ๋ชจ๋ ๋ฉค๋ฒ ๋ณ์์ ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ๋ณต์ฌํ๋๋ฐ ๊ฐ์ฒด๊ฐ ํฌ
tech-interview.tistory.com
5. ์ ์ ๋ฉค๋ฒ ๋ณ์์ ํจ์
2020.05.16 - [๐ Language/โ C & C++] - [C++] ์ ์ (Static) ๋ฉค๋ฒ ๋ณ์์ ํจ์
[C++] ์ ์ (Static) ๋ฉค๋ฒ ๋ณ์์ ํจ์
์ ์ ๋ฉค๋ฒ ๋ณ์ static ์๋ฃํ ๋ณ์ ์ด๋ฆ; ํ์์ผ๋ก ํด๋์ค ๋ฐ์์ ์ด๊ธฐํํด์ผ ํ๋ค. ๊ฐ์ ํด๋์ค ๋ด ๋ชจ๋ ๊ฐ์ฒด๊ฐ ํ๋์ ์ ์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ๊ณต์ฉ์ผ๋ก ์ฌ์ฉํ๋ค. ์ฆ ํด๋์ค ๋ด์ ์ ์ญ ๋ณ์์ฒ๋ผ ํ๋
tech-interview.tistory.com
6. OOP ์๋ฉธ์์ virtual ํค์๋
2020.06.01 - [๐ Language/โ C & C++] - [C++] OOP ์๋ฉธ์์ virtual ํค์๋
[C++] OOP ์๋ฉธ์์ virtual ํค์๋
๊ฐ์ฒด์งํฅ์ ํน์ฑ ์ค ๋คํ์ฑ์ ๊ฐ๋ ์ ์ ์ฉํ ๊ฒ์ด๋ค. ๋คํ์ฑ์ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ํจ์์ ์ฐ๊ธฐ๋ ํ์ง๋ง ์๋ฉธ์์๋ ์ฌ์ฉ๋๋ค. ํด๋์ค ๋ด ์๋ฉธ์์๋ ์ virtual ํค์๋๊ฐ ๋ถ์๊น? ๋จผ์
tech-interview.tistory.com
7. ๋์ ํ ๋น ์ฐจ์ด
2020.06.01 - [๐ Language/โ C & C++] - [C/C++] malloc()๊ณผ new์ ์ฐจ์ด
[C/C++] malloc()๊ณผ new์ ์ฐจ์ด
malloc()๊ณผ new์ ์ฐจ์ด 1. ํจ์์ ์ฐ์ฐ์ C์์๋ ๋์ ํ ๋น์ ์ํด malloc()๊ณผ free() ํจ์๋ฅผ ์ฌ์ฉํ๋ค. C++์์๋ ๋์ ํ ๋น์ ์ํด new์ delete ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค. ๋จ์ํ๊ฒ malloc()์ ํจ์์ด๊ณ new๋ ์ฐ.
tech-interview.tistory.com
8. l-value์ r-value
2020.06.20 - [๐ Language/โ C & C++] - [C++] l-value์ r-value
[C++] l-value์ r-value
l-value์ r-value ์ผ์ชฝ ๊ฐ, ์ค๋ฅธ์ชฝ ๊ฐ์ด๋ ๋จ์ด์ ์๋ฏธ๋ ๋งค์ฐ ์ง๊ด์ ์ผ๋ก ๋ฑํธ(=)์ ์ผ์ชฝ์ ์์ผ๋ฉด left value, ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด right value์ด๋ค. 1. l-value ์ด๋ฆ์ ๊ฐ์ง ๋ณ์๋ก ํํ์ ์ดํ์๋ ์ฌ๋ผ์ง์ง.
tech-interview.tistory.com
9. ๋ฌธ์์ด ์คํธ๋ฆผ
2022.04.23 - [๐ Language/โ C & C++] - [C++] ๋ฌธ์์ด ์คํธ๋ฆผ(stringstream)
[C++] ๋ฌธ์์ด ์คํธ๋ฆผ(stringstream)
๋ฌธ์์ด ์คํธ๋ฆผ ๋ฌธ์์ด์ ์ฌ๋ฌ ๊ฐ์ง ์๋ฃํ์ด ๋ค์ด์์ ๋ ์ฉ๋์ ๋ง๊ฒ ํ์ฑํ๊ธฐ ์ ์ฉํ๋ค. ํค๋ #include ์ฝ๋ฉ ํ ์คํธ์์ ๋ฌธ์์ด์ ํ์ดํ ๋ C++ string๋ง์ผ๋ก ํด๊ฒฐํ๊ธฐ์ ์์ ์ด๋ ค์์ด ์๋ค. 1.
tech-interview.tistory.com
10. ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
2022.06.11 - [๐ Language/โ C & C++] - [C++] ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ(Operator Overloading)
[C++] ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ(Operator Overloading)
์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ(Operator Overloading) ๊ธฐ์กด ์ ๊ณตํ๊ณ ์๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ ์ํ์ฌ ์ฌ์ฉ์ ์ ์ ํด๋์ค๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ค. ์๋ก์ด ์ฐ์ฐ์๋ฅผ ์ ์ํ ์๋ ์๋ค. ๊ธฐ๋ณธ ์ ๊ณต ๋ฐ์ดํฐ ํ์์ ์ ์ฉํ
tech-interview.tistory.com
C# ์ ๋ฆฌ
1. ๋ธ๋ฆฌ๊ฒ์ดํธ, Func์ Action์ ์ด์ฉํ ๋ฌด๋ช ํจ์ ๋ง๋ค๊ธฐ
2022.05.15 - [๐ Language/โ C#] - [C#] Func์ Action์ ์ด์ฉํ ๋ฌด๋ช ํจ์ ๋ง๋ค๊ธฐ
[C#] Func์ Action์ ์ด์ฉํ ๋ฌด๋ช ํจ์ ๋ง๋ค๊ธฐ
Func์ Action์ ์ด์ฉํ ๋ฌด๋ช ํจ์ ๋ง๋ค๊ธฐ ์ต๋ช ๋ฉ์๋์ ๋ฌด๋ช ํจ์๋ ์ผํ์ฑ์ผ๋ก ์ฌ์ฉ๋ ํจ์์ ์ฉ์ดํ๋ฉฐ ์ฝ๋๋ฅผ ์ข ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค์ด์ค๋ค. ํ์ง๋ง ๋ ๋ค ๋๋ฆฌ์(Delegate)๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์
tech-interview.tistory.com
2. ref์ out ํค์๋
2022.05.20 - [๐ Language/โ C#] - [C#] ref์ out ํค์๋
[C#] ref์ out ํค์๋
ref์ out ํค์๋ ref์ out ํค์๋๋ ์ธ์๋ก ๋๊ธด ๋ณ์๋ฅผ ๋ฉ์๋ ๋ด๋ถ์์ ์ฐธ์กฐ ํํ๋ก ์ฌ์ฉํ๋ค๋ ์ ์์ ๋์ผํ๋ค. ์์ฑ(Property)์ ๋ณ์๊ฐ ์๋๋ฏ๋ก ์ ๋ฌํ ์ ์๋ค. using System; namespace Test { class P.
tech-interview.tistory.com
3. ํ๋กํผํฐ
2022.06.19 - [๐ Language/โ C#] - [C#] ํ๋กํผํฐ(Property)
[C#] ํ๋กํผํฐ(Property)
ํ๋กํผํฐ(Property) ์ธ๋ถ์์ ํด๋์ค ๋ณ์์ ๊ฐ์ ํ ๋นํ ๋, ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ํ ๊ฒ์ด๋ค. ๋ณ์์ ๊ฐ์ด ํญ์ ์ฌ๋ฐ๋ฅด๋๋ก ๊ฐ์ ํ์ฌ, ํ ๋น๋ ๊ฐ์ ํ์คํ ํ๊ธธ ๋ฐ๋ ๊ฒฝ์ฐ ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ
tech-interview.tistory.com
4. ์ ๋ค๋ฆญ
- ํด๋์ค์์ ์ฌ์ฉํ ํ์ ์ ํด๋์ค ์ธ๋ถ์์ ์ค์ ํ๋๋ก ๋ง๋๋ ๊ฒ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ํ๋ ํ์ ์ผ๋ก ๋ง๋ค์ด์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- C++์์๋ ํ ํ๋ฆฟ์ด๋ผ ๋ถ๋ฅธ๋ค.
JAVA ์ ๋ฆฌ
1. ๊ธฐ๋ณธํ ๋ณ์์ ์ฐธ์กฐํ ๋ณ์
2021.03.14 - [๐ Language/โ JAVA] - [JAVA] ๊ธฐ๋ณธํ ๋ณ์์ ์ฐธ์กฐํ ๋ณ์
[JAVA] ๊ธฐ๋ณธํ ๋ณ์์ ์ฐธ์กฐํ ๋ณ์
๊ธฐ๋ณธํ ๋ณ์์ ์ฐธ์กฐํ ๋ณ์ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ(RAM)๋ ๊ฐ์ ์ ์ฅํ ์ ์๋ ์๋ง์ ์ฃผ์๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๊ทธ๋์ ์ด๋์ ์ ์ฅํ๊ณ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ์ฅํ ์ง ์ ํด๋์ง ์์ผ๋ฉด ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ด ๋ฌด์ฒ
tech-interview.tistory.com
2. ํด๋์ค
2021.03.27 - [๐ Language/โ JAVA] - [JAVA] ํด๋์ค
[JAVA] ํด๋์ค
ํด๋์ค 1. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๊ฑฐ๋ ์ถ์์ ์ผ๋ก ์๊ฐํ ์ ์๋ ๊ฒ ์ค์์ ์์ ์ ์์ฑ์ ๊ฐ๊ณ ์์ผ๋ฉด์ ์๋ณ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ์์ฑ๊ณผ ๋์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ์๋ฐ์
tech-interview.tistory.com
3. ์์
2021.04.02 - [๐ Language/โ JAVA] - [JAVA] ์์
[JAVA] ์์
์์ 1. ์์ ์์์ ๋ถ๋ชจ๊ฐ ์์์๊ฒ ๋ฌผ๋ ค์ฃผ๋ ํ์๋ฅผ ๋งํ๋ค. ์์์ ์์์ ํตํด์ ๋ถ๋ชจ๊ฐ ๋ฌผ๋ ค์ค ๊ฒ์ ์์ฐ์ค๋ฝ๊ฒ ์ด์ฉํ ์ ์๋ค. ์ด๋ฏธ ์ ๊ฐ๋ฐ๋ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํด์ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง
tech-interview.tistory.com
4. ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค
2021.04.02 - [๐ Language/โ JAVA] - [JAVA] ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค
[JAVA] ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค
1. ์ถ์ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ ์ ์๋ ํด๋์ค๋ฅผ ์ค์ฒด ํด๋์ค๋ผ ํ๋ค๋ฉด ์ด ํด๋์ค๋ค์ ๊ณตํต์ ์ธ ํน์ฑ์ ์ถ์ถํด์ ์ ์ธํ ํด๋์ค๋ฅผ ์ถ์ ํด๋์ค๋ผ ํ๋ค. ์ถ์ ํด๋์ค์ ์ค์ฒด ํด๋์ค๋ ์์
tech-interview.tistory.com
5. ์ค์ฒฉ ํด๋์ค์ ์ค์ฒฉ ์ธํฐํ์ด์ค
2021.04.10 - [๐ Language/โ JAVA] - [JAVA] ์ค์ฒฉ ํด๋์ค์ ์ค์ฒฉ ์ธํฐํ์ด์ค
[JAVA] ์ค์ฒฉ ํด๋์ค์ ์ค์ฒฉ ์ธํฐํ์ด์ค
์ค์ฒฉ ํด๋์ค์ ์ค์ฒฉ ์ธํฐํ์ด์ค ํด๋์ค๋ค์ ์๋ก ๊ธด๋ฐํ ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์ํธ์์ฉ์ ํ๋ค. ํด๋์ค๊ฐ ์ฌ๋ฌ ํด๋์ค์ ๊ด๊ณ๋ฅผ ๋งบ๋ ๊ฒฝ์ฐ์๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ธํ๋ ๊ฒ์ด ์ข์ผ๋ ํน์ ํด๋์ค์ ๊ด๊ณ
tech-interview.tistory.com
6. ๊ธฐ๋ณธ API ํด๋์ค
2021.04.17 - [๐ Language/โ JAVA] - [JAVA] ๊ธฐ๋ณธ API ํด๋์ค
[JAVA] ๊ธฐ๋ณธ API ํด๋์ค
๊ธฐ๋ณธ API ํด๋์ค API๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋๋ฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์์ฃผ ์ฌ์ฉ๋๋ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค์ ๋ชจ์์ ๋งํ๋ค. 1. java.lang ํจํค์ง ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ธ ํด๋์ค๋ฅผ ๋ด๊ณ ์
tech-interview.tistory.com
7. ์ค๋ ๋
2021.04.17 - [๐ Language/โ JAVA] - [JAVA] ์ค๋ ๋
[JAVA] ์ค๋ ๋
์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ฉด ์ด์์ฒด์ ๋ก๋ถํฐ ์คํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ๋๋ฐ, ์คํ ์ค์ธ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก์ธ์ค๋ผ ํ๊ณ ํ๋ก์ธ์ค ๋ด๋ถ์์ ์ฝ๋์ ์คํ ํ๋ฆ์ ์ค๋ ๋๋ผ ํ
tech-interview.tistory.com
8. ์ปฌ๋ ์ ํ๋ ์์ํฌ
2021.04.22 - [๐ Language/โ JAVA] - [JAVA] ์ปฌ๋ ์ ํ๋ ์์ํฌ
[JAVA] ์ปฌ๋ ์ ํ๋ ์์ํฌ
์ปฌ๋ ์ ํ๋ ์์ํฌ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ฒด๋ค์ ํจ์จ์ ์ผ๋ก ์ถ๊ฐ, ์ญ์ , ๊ฒ์ํ ์ ์๋๋ก ์ธํฐํ์ด์ค์ ๊ตฌํ ํด๋์ค๋ฅผ java.util ํจํค์ง์์ ์ ๊ณตํ๋๋ฐ, ์ด๋ค์ ์ด์นญํด์ ์ปฌ๋ ์ ํ๋ ์์ํฌ
tech-interview.tistory.com
9. ์ ์ถ๋ ฅ ์คํธ๋ฆผ
2021.04.29 - [๐ Language/โ JAVA] - [JAVA] ์ ์ถ๋ ฅ ์คํธ๋ฆผ
[JAVA] ์ ์ถ๋ ฅ ์คํธ๋ฆผ
์ ์ถ๋ ฅ ์คํธ๋ฆผ 1. ์ ์ถ๋ ฅ ์คํธ๋ฆผ ์๋ฐ์์ ๋ฐ์ดํฐ๋ ์คํธ๋ฆผ์ ํตํด ์ ์ถ๋ ฅ๋๋ค. ์คํธ๋ฆผ์ ๋จ์ผ ๋ฐฉํฅ์ผ๋ก ์ฐ์์ ์ผ๋ก ํ๋ฌ๊ฐ๋ ๊ฒ์ ๋งํ๋๋ฐ ๋ฌผ์ด ๋์ ๊ณณ์์ ๋ฎ์ ๊ณณ์ผ๋ก ํ๋ฅด๋ฏ์ด ๋ฐ์ดํฐ
tech-interview.tistory.com
10. ์คํ๋ง
2021.05.09 - [๐ Language/โ JAVA] - Spring๊ณผ SpringBoot
Spring๊ณผ SpringBoot
์คํ๋ง๊ณผ ์คํ๋ง ๋ถํธ๋ versus๊ฐ ์๋๋ผ with์ด๋ค. 1. Spring ์คํ๋ง ํ๋ ์์ํฌ๋ ์๋ฐ์์ ๊ฐ์ฅ ๋์ค์ ์ธ ์์ฉํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ํ๋ ์์ํฌ์ด๋ค. 1) ํน์ง ๊ฐ์ฅ ์ค์ํ ํน์ง์ ์์กด์ฑ ์ฃผ์ (Dependency Injec
tech-interview.tistory.com
11. JSP์ Servlet
2021.05.16 - [๐ Language/โ JAVA] - JSP์ Servlet
JSP์ Servlet
JSP์ Servlet ๊ธฐ๋ฅ์ ์ฐจ์ด๋ ์๊ณ ์ญํ ์ ์ฐจ์ด๋ง ์๋ค. ํ๋ ์ผ์ ๋์ผํ๋ค. 1. Web Service์ ๊ธฐ๋ณธ์ ์ธ ๋์ ๊ณผ์ ์ฌ์ฉ์๊ฐ ์น ํ์ด์ง form(HTML Form)์ ํตํด ์์ ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค. (Input) Servlet์ doG..
tech-interview.tistory.com
12. ๋ฉ์ด๋ธ
2021.05.22 - [๐ Language/โ JAVA] - Maven(๋ฉ์ด๋ธ)
Maven(๋ฉ์ด๋ธ)
Maven(๋ฉ์ด๋ธ) 1. ๋น๋(Build) ์์ค ํ์ผ์ ์ปดํจํฐ์์ ์คํํ ์ ์๋ ๋ ๋ฆฝ ์ํํธ์จ์ด ๊ฐ๊ณต๋ฌผ๋ก ๋ณํํ๋ ๊ณผ์ ๋๋ ๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค. ์์ฑํ ์์ค(.java), ํ๋ก์ ํธ์์ ์ฐ์ธ ํ์ผ ๋ฐ ์์(.xml,
tech-interview.tistory.com
13. String, StringBuilder, StringBuffer
์๋ฐ์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๋ํ์ ์ธ ํด๋์ค๋ค์ด๋ค. ์ฐ์ฐ์ด ๋ง์ง ์์ ๋๋ ์ด๋ค ๋ฌธ์์ด ํด๋์ค๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ด์๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์๋ค. ๊ทธ๋ฌ๋ ์ฐ์ฐ ํ์๊ฐ ๋ง์์ง๊ฑฐ๋ ๋ฉํฐ์ค๋ ๋, Race condition ๋ฑ์ ์ํฉ์ด ์์ฃผ ๋ฐ์ํ๋ค๋ฉด ๊ฐ ํด๋์ค์ ํน์ง์ ์ดํดํ๊ณ ์ํฉ์ ๋ง๋ ์ ์ ํ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
1) String vs StringBuffer/StringBuilder
String๊ณผ StringBuffer/StringBuilder์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ถ๋ณ์ฑ(immutable)์ ์ ๋ฌด์ด๋ค.
์๋ ์ฝ๋๋ String์ ์ฐธ์กฐ ๋ณ์ str์ด ๊ฐ๋ฆฌํค๋ ๊ณณ์ ์ ์ฅ๋ "hello"์ "world" ๋ฌธ์์ด์ ๋ํด "hello world"๋ก ๋ณ๊ฒฝํ ๊ฒ์ผ๋ก ์ฐฉ๊ฐํ ์ ์๋ค.
String str = "hello"; // String str = new String("hello");
str = str + " world"; // hello world
๊ทธ๋ฌ๋ ์ฌ์ค์ str์ด "hello world" ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฐ๋ฆฌํค๊ฒ ๋ณ๊ฒฝ๋๊ณ ์ฒ์ ์ ์ธํ๋ "hello"์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ Garbage๋ก ๋จ์์๋ค๊ฐ GC(garbage collection)์ ์ํด ์ฌ๋ผ์ง๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ฆ, String๋ ๋ถ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด์ ์์ ํ๋ ์์ ์ ์๋ก์ด String ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๊ฒ์ด๋ค.
- String์ ๋ถ๋ณ์ฑ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ณํ์ง ์๋ ๋ฌธ์์ด์ ์์ฃผ ์ฝ์ด ๋ค์ด๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ฉด ์ข๋ค.
- ๋ง์ฝ ๋ฌธ์์ด ์ถ๊ฐ, ์์ , ์ญ์ ๋ฑ์ ์ฐ์ฐ์ด ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ค๋ฉด, ๊ฐ๋ณ์ฑ์ ๊ฐ์ง๋ StringBuffer, StringBuilder๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. String๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ง์ ์์ Garbage๊ฐ ์์ฑ๋์ด ํ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ์น๋ช ์ ์ธ ์ํฅ์ ๋ผ์น๊ฒ ๋ ์ ์๋ค.
2) StringBuffer vs StringBuilder
StringBuffer์ StringBuilder์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋๊ธฐํ์ ์ ๋ฌด์ด๋ค.
- StringBuffer๋ ๋๊ธฐํ ํค์๋๋ฅผ ์ง์ํ์ฌ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์์ (thread-safe)ํ๋ค. ์ฐธ๊ณ ๋ก String๋ ๋ถ๋ณ์ฑ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์์ ์์ ์ฑ(thread-safe)์ ๊ฐ์ง๊ณ ์๋ค.
- StringBuilder๋ ๋๊ธฐํ๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํฉํ์ง ์๋ค. ๊ทธ๋ฌ๋ ๋จ์ผ ์ค๋ ๋์์์ ์ฑ๋ฅ์ StringBuffer๋ณด๋ค ๋ฐ์ด๋๋ค.
14. checked exception, unchecked exception
์์ธ๋ ์ฌ์ฉ์์ ์๋ชป๋ ์กฐ์ ๋๋ ๊ฐ๋ฐ์์ ์๋ชป๋ ์ฝ๋ฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ํ๋ก๊ทธ๋จ ์ค๋ฅ์ด๋ค. ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๊ฐ ๋๋ค๋ ๊ฒ์ ์๋ฌ์ ๋์ผํ์ง๋ง, ์์ธ์ฒ๋ฆฌ(Exception Handling)๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ๋์ง ์๊ณ ์ ์์ ์ผ๋ก ์๋๋๊ฒ ๋ง๋ค์ด์ค ์ ์๋ค.
- Checked Exception: ๋ช ์์ ์ธ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ Checked Exception์ด๋ผ ํ๋ค. ๋ฐ๋์ try ~ catch๋ก ์์ธ๋ฅผ ์ก๊ฑฐ๋ throw๋ก ํธ์ถํ ๋ฉ์๋์๊ฒ ์์ธ๋ฅผ ๋์ ธ์ผ ํ๋ค.
- Unchecked Exception: ๋ช ์์ ์ธ ์์ธ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ Uncheked Exception์ด๋ผ๊ณ ํ๋ค. ๋ช ์์ ์ธ ์์ธ ์ฒ๋ฆฌ๋ try ~ catch๋ก ์์ธ๋ฅผ ์ก๊ฑฐ๋ throw๋ก ํธ์ถํ ๋ฉ์๋์๊ฒ ์์ธ๋ฅผ ๋์ง์ง ์๋ ํ์๋ฅผ ๋งํ๋ค.