728x90
๋ฐ์ํ
๊ฐ์ธ์ ํ์ต ๋ด์ฉ ๊ธฐ๋ก ์ค, ๊ทนํ ์ผ๋ถ์ ๋ด์ฉ๋ง ์์ฑ๋์์ต๋๋ค.
Java
//์๋ฐ๋ ํด๋์ค์์ ์์ํด์ ๋๋๋ค.
//public : ์ ๊ทผ์ ํ์
//class : ํด๋์ค ์ ์์ด
public class ex01 {
//static : ์ ์ ๋ณ์/ํจ์๋ก ์ ์ธ
// ํ๋ก๊ทธ๋จ ์์์ ์ ์ ์ํ๋ค.
//String[] : ๋ฌธ์์ด ๋ฐฐ์ด, ํ๋ก๊ทธ๋จ ์์์
// ํ๋ผ๋ฏธํฐ ex) hwp.exe a.hwp b.hwp
public static void main(String[] args) {
//println : ์ฝ์ ์ถ๋ ฅ
System.out.println("Hello Java!");
}
}
//๋ฐ์ดํฐ ํ์
(์๋ฃํ)
//๊ธฐ๋ณธ์๋ฃํ 8๊ฐ
//์ ์ํ : int(4) long(8) short(2) byte(1)
//์ค์ํ : float(4) double(8)
//๋
ผ๋ฆฌํ : boolean(1)
//๋ฌธ์ํ(๋ด๋ถ์ ์ผ๋ก ์ซ์ํ) : char(2)
//println print printf
//println : ๋ฌธ์์ด ํ์ค ์ถ๋ ฅ + ์ค๋ฐ๊ฟ
//print : ์ค๋ฐ๊ฟ ์์
//printf : ํ์ํ๋ ์ถ๋ ฅ๋ฌธ
๐ Java ์ฃผ์ ๊ฐ๋
- static
- ํด๋์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋ ํจ๊ป ์์ฑ.
- ๊ฐ์ฒด ์์ด ์ฌ์ฉ ๊ฐ๋ฅ (ํด๋์ค๋ช .๋ณ์, ํด๋์ค๋ช .๋ฉ์๋).
- ๊ณตํต ๋ฐ์ดํฐ, ์ ํธ๋ฆฌํฐ ํจ์ ๋ฑ์ ์ฌ์ฉ.
- ์ ๊ทผ ์ ํ์ (Access Modifier)
- private: ๊ฐ์ ํด๋์ค ๋ด์์๋ง ์ ๊ทผ.
- default(์๋ฌด ๊ฒ๋ ์ ๋ถ์): ๊ฐ์ ํจํค์ง ๋ด ์ ๊ทผ ๊ฐ๋ฅ.
- protected: ๊ฐ์ ํจํค์ง + ์์๋ฐ์ ํด๋์ค์์ ์ ๊ทผ ๊ฐ๋ฅ.
- public: ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅ.
- ์ค๋ฒ๋ก๋ฉ vs ์ค๋ฒ๋ผ์ด๋ฉ
- ์ค๋ฒ๋ก๋ฉ: ๊ฐ์ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ๋ง ๋ค๋ฅด๊ฒ (๊ฐ์ ํด๋์ค ๋ด).
- ์ค๋ฒ๋ผ์ด๋ฉ: ์์๋ฐ์ ๋ฉ์๋ ์ฌ์ ์ (@Override, ๋ถ๋ชจ-์์ ํด๋์ค ๊ฐ).
- ์ฑ๊ธํค ํจํด
- ๊ฐ์ฒด๋ฅผ ํ ๋ฒ๋ง ์์ฑํด ์ฌ์ฌ์ฉ.
- ๋ฉ๋ชจ๋ฆฌ ํจ์จ, DB ์ฐ๊ฒฐ ๋ฑ ์์ ์ ์ฝ์ ์ฌ์ฉ.
- ์์ฑ์ private, getInstance() ๋ฉ์๋๋ก ๊ฐ์ฒด ์ ๊ณต.
๐ ์๋ฐ ๊ธฐ๋ณธ API ๋ฐ ๊ฐ๋ ์ ๋ฆฌ
โ ๊ธฐ๋ณธ API ํด๋์ค
- ํจํค์ง๋ช : java.lang.*, java.util.*
- JDK ๊ณต์ ๋ฌธ์ (์๋ฌธ): Java SE 17 Documentation
์ฉ์ด ์ค๋ช
API (Application Programming Interface) | ํจ์, ํด๋์ค, ํต์ ํธ์ถ์ ์ธํฐํ์ด์ค |
SDK (Software Development Kit) | ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ๋๊ตฌ ๋ชจ์ |
๋ผ์ด๋ธ๋ฌ๋ฆฌ (Library) | ํจ์๋ ํด๋์ค์ ์งํฉ |
ํ๋ ์์ํฌ (Framework) | ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ๋ผ๋(๊ธฐ๋ฐ ๊ตฌ์กฐ) |
์ฝ๋ ์ (Collection) | ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ๋ชจ์ |
JDK (Java Development Kit) | Java + SDK ํฌํจ |
DLL (Dynamic-Link Library) | ๋์ ๋งํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํจ์ ๋ฐ ํด๋์ค์ ๋ชจ์ |
JAR (Java Archive) | .class ํ์ผ๊ณผ ๋ฆฌ์์ค(์ด๋ฏธ์ง, ํ ์คํธ, ๋ฉํ์ ๋ณด)๋ฅผ ํฌํจํ ์คํ ๊ฐ๋ฅํ ์์ถ ํ์ผ (์: ํ์๋ฆฌํ, ์คํ๋ง ๋ถํธ) |
WAR (Web Application Archive) | JAR๊ณผ ์ ์ฌํ์ง๋ง, ์น ํ๊ฒฝ ์ค์ ์ด ์ถ๊ฐ๋ ์์ถ ํ์ผ (์: JSP, ์คํ๋ง ๋ ๊ฑฐ์) |
โ ํ๋ ์์ํฌ > ๋ผ์ด๋ธ๋ฌ๋ฆฌ > ์ฝ๋ ์ > SDK > API (ํฌ๊ด์ ์ธ ๊ฐ๋ ์์)
โ ์ธํฐํ์ด์ค (Interface)๋?
- ๊ฐ์ํจ์(์ถ์ ๋ฉ์๋)๋ง ๋ชจ์๋ ํ
- ์ค๊ณ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋จ
โ ์ถ์ ํด๋์ค (abstract class)๋?
- **์ผ๋ฐ ๋ฉ์๋ + ์ถ์ ๋ฉ์๋(๊ฐ์ ํจ์)**๋ฅผ ํฌํจํ๋ ํด๋์ค
- ์ถ์ ๋ฉ์๋: ์ ์ธ๋ง ์๊ณ ๊ตฌํ์ ์์ → ํ์ ํด๋์ค์์ ์ค๋ฒ๋ผ์ด๋ฉ ํ์
๐น ์๋ฐ์ ์ต์์ ํด๋์ค
- Object ํด๋์ค
- ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค๋ฅผ ์์๋ฐ์
- ๋คํ์ฑ์ ์ด์ฉํ์ฌ ๋ชจ๋ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ ์ ์์
//ํด์ฌ์ฝ๋ : ๊ฐ์ฒด์์ฑ์ ์๋๋ถ์ฌ๋๋ ID๊ฐ
System.out.println(object1.hashCode());
System.out.println(object2.hashCode());
//equals()
System.out.println( object1.equals( object2 ) );
//toString()
System.out.println( object1.toString() );
โ ์ ๋ค๋ฆญ (Generic) <T>
- ๋ชฉ์ : ํ(Type)์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ์ ์ก(ํ์ ์ ์ธ)์ ํธ๋ฆฌํ๊ฒ ํ๊ธฐ ์ํด ์ฌ์ฉ
- ํน์ง:
- ๊ฐ๋ณ์ ์ธ ํ์ ์ ์ธ์ ๊ฐ๋ฅํ๊ฒ ํจ (์์๊ณผ ๊ด๊ณ์์)
- JDK 1.5๋ถํฐ ์ง์
โ ๋๋ค์(Lambda Expression)
- ๋ชฉ์ :
- ์๋ฐ์์ ์ฝ๋๋ฅผ ๋ณ์ ํํ๋ก ๋ด์ ์ ๋ฌ(๋งค๊ฐ๋ณ์)ํ ์ ์๋๋ก ์ค๊ณ๋จ
- ์ฝ๋ ์ ๋ฌ์ ์ํด ์ธํฐํ์ด์ค ๋ฌธ๋ฒ์ ์ฐจ์ฉ
- ์ฌ์ฉ๋ฒ:
- ๋๋ค์ ์ ์ธ: ํจ์ํ ์ธํฐํ์ด์ค(@FunctionalInterface) ์ฌ์ฉ
- ๊ตฌํ: ‘->’ (ํ์ดํ ์ฐ์ฐ์) ์ฌ์ฉ
728x90
๋ฐ์ํ