1. λ°μ΄ν° νμ
- κΈ°λ³Έ νμ
: byte, char, short, int, long, float, double, boolean
- κΈ°λ³Έ νμ μ μ€μ κ°μ λ³μμ μ μ₯
- μ°Έμ‘° νμ
: λ°°μ΄, ν΄λμ€, μ΄κ±°, μΈν°νμ΄μ€
- μ°Έμ‘° νμ μ λ©λͺ¨λ¦¬ λ²μ§ κ°μ λ³μμ μ μ₯

2. λ©λͺ¨λ¦¬ μ¬μ© μμ
1. λ©μλ(Method) μμ
- ν΄λμ€ λ³λ‘ λ°νμ μμν, νλ λ°μ΄ν°, λ©μλ λ°μ΄ν°, λ©μλ μ½λ, μμ±μ μ½λ λ±μ λΆλ₯ν΄μ μ μ₯νλ€.
- λ©μλ μμμ JVMμ΄ μμν λ μμ±λκ³ λͺ¨λ μ€λ λκ° κ³΅μ νλ μμμ΄λ€.
2. ν(Heap) μμ
- κ°μ²΄μ λ°°μ΄μ΄ μμ±λλ μμμ΄λ€.
- ν μμμμ μμ±λλ κ°μ²΄μ λ°°μ΄μ JVM μ€ν μμμ λ³μλ λ€λ₯Έ κ°μ²΄μ νλμμ μ°Έμ‘°νλ€.
- μ°Έμ‘°νλ λ³μλ νλκ° μλ κ°μ²΄λ μ°λ κΈ°λ‘ μ·¨κΈνκ³ JVMμ Garbage Collectorλ₯Ό μ€νμμΌ μ°λ κΈ° κ°μ²΄λ₯Ό ν μμμμ μ κ±°νλ€.
- λ°λΌμ κ°μ²΄λ₯Ό μ κ±°νκΈ° μν΄ λ³λμ μ½λλ₯Ό μμ±ν νμκ° μλ€.
3. JVM μ€ν(Stack) μμ
- μ€ν μμμ κ° μ€λ λλ§λ€ νλμ© μ‘΄μ¬νλ©° μ€λ λκ° μμλ λ ν λΉλλ€.
- μλ° νλ‘κ·Έλ¨μ μΆκ°λ‘ μ€λ λλ₯Ό μμ±νμ§ μμΌλ©΄ main() λ©μλμ ν΄λΉνλ JVM μ€ν μμ νλλ§ μ‘΄μ¬νλ€.
- λ©μλ νΈμΆν λλ§λ€ νλ μ μΆκ°(push)νκ³ λ©μλ μ’ λ£νλ©΄ νλ μ μ κ±°(pop)νλ λμ μννλ€.
- λ³μλ μ μΈλ λΈλ‘ μμμλ§ μ€νμ μ‘΄μ¬νκ³ λΈλ‘μ λ²μ΄λλ©΄ μ€νμμ μ κ±°λλ€.

3. nullκ³Ό NullPointerException
1. null
- μ°Έμ‘° νμ λ³μλ ν μμμ κ°μ²΄λ₯Ό μ°Έμ‘°νμ§ μλλ€λ μλ―Έλ‘ null κ°μ κ°μ§ μ μλ€.
- μ΄κΈ°κ°μΌλ‘ null κ°μ μ¬μ©ν μ μκΈ° λλ¬Έμ null λ‘ μ΄κΈ°νλ μ°Έμ‘° λ³μλ μ€ν μμμ μμ± λλ€.
2. NullPointerException
int[] arr = null;
arr[0] = 10; // NullPointerException
- arr μ μ°Έμ‘° λ³μμΈλ° μ°Έμ‘°νκ³ μλ λ°°μ΄ κ°μ²΄κ° μκΈ° λλ¬Έμ NullPointerException μ΄ λ°μνλ€.
4. String νμ
String name1 = "νμ΄";
String name2 = "νμ΄";
- name1 λ³μμ name2 λ³μλ μ€ν μμμ μμ±λκ³ λ¬Έμμ΄ λ¦¬ν°λ΄μΈ "νμ΄"λ ν μμμ String κ°μ²΄λ‘ μμ±λλ€. name1 λ³μμ name2 λ³μμλ ν μμμ "νμ΄" κ°μ²΄μ μ£Όμ κ°μ΄ μ μ₯λλ€.
- name1 λ³μμ name2 λ³μλ λ¬Έμμ΄ λ¦¬ν°λ΄μ΄ "νμ΄"λ‘ λμΌνκΈ° λλ¬Έμ κ°μ String κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λλ€.
- new μ°μ°μλ₯Ό μ¬μ©ν΄μ μ§μ String κ°μ²΄λ₯Ό μμ±ν κ²½μ°μλ λ€λ₯Έ String κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λλ€.
String name1 = new String("μ μ©κΆ");
String name2 = new String("μ μ©κΆ");

- μ°Έμ‘°νκ³ μλ String κ°μ²΄κ° λμΌνμ§ μνμ§λ₯Ό λΉκ΅ν λλ == λλ != λΉκ΅ μ°μ°μ νλ€.
- String κ°μ²΄κ° λμΌνκ° μλκ°μ μκ΄μμ΄ String λ¬Έμμ΄λ§ λΉκ΅ν λμλ equals() λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ€.
boolean result = str1.equals(str2);
μ°Έμ‘°λ₯Ό μμ String κ°μ²΄λ μ΄λ»κ² λ κΉ?
String hobby = "μ¬ν";
hobby = null;
- JVMμ μ°Έμ‘°λμ§ μλ κ°μ²΄λ₯Ό μ°λ κΈ° κ°μ²΄λ‘ μ·¨κΈνκ³ Garbage Collectorλ₯Ό ꡬλμμΌ λ©λͺ¨λ¦¬μμ μλμΌλ‘ μ κ±°νλ€.
5. λ°°μ΄μ΄λ?
- κ°μ νμ μ λ°μ΄ν°λ₯Ό μ°μλ 곡κ°μ λμ΄μν€κ³ κ° λ°μ΄ν°μ μΈλ±μ€λ₯Ό λΆμ¬ν΄ λμ μλ£κ΅¬μ‘°μ΄λ€.
- λ€λ₯Έ νμ μ κ°μ μ μ₯νλ €κ³ νλ©΄ νμ λΆμΌμΉ μ»΄νμΌ μ€λ₯κ° λ°μνλ€.
- ν λ² μμ±λ λ°°μ΄μ κΈΈμ΄λ λ리거λ μ€μΌ μ μλ€.
- λ°°μ΄λ κ°μ²΄μ΄λ―λ‘ ν μμμ λ°°μ΄ κ°μ²΄κ° μμ±λκ³ μ€ν μμμ λ°°μ΄ λ³μλ ν μμμ λ°°μ΄ κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λλ€.
λ°°μ΄ λ³μλ₯Ό μ΄λ―Έ μ μΈν νμ λ€λ₯Έ μ€νλ¬Έμμ λ°°μ΄ μμ±μ νμ©λμ§ μλλ€.
String[] names;
names = {"νκΈΈλ", "κ°μλ°", "νμΌμ"}; // μ»΄νμΌ μλ¬
String[] names = null;
names = new String[]{"νκΈΈλ", "κ°μλ°", "νμΌμ"};
- λ°°μ΄μ λ¨Όμ μ μΈν ν κ°μ λμ€μ μ£Όλ κ²½μ°μλ new μ°μ°μλ₯Ό μ¬μ©ν΄μ κ° λͺ©λ‘μ μ§μ ν΄μ£Όλ©΄ λλ€.
- λ°°μ΄ λͺ©λ‘μ μμ±ν¨κ³Ό λμμ λ©μλμ 맀κ°κ°μΌλ‘ μ¬μ©νκ³ μ ν λλ λ°λμ new μ°μ°μλ₯Ό μ¬μ©ν΄μΌ νλ€.
int[] arr = new int[5];
int result = add(new int[]{95, 80, 75});
λ°°μ΄μ μ΄κΈ°κ°
- μ μ : 0, μ€μ : 0.0, λ Όλ¦¬ : false, μ°Έμ‘° νμ : null
λ°°μ΄ κΈΈμ΄
int[] arr = { 10, 20, 30 };
int num = arr.length;
6. 컀맨λ λΌμΈ
public static void main(String[] args){ ``` }

- java ν΄λμ€λ‘ νλ‘κ·Έλ¨μ μ€ννλ©΄ JVMμ κΈΈμ΄κ° 0μΈ String λ°°μ΄μ λ¨Όμ μμ±νκ³ main() λ©μλλ₯Ό νΈμΆν λ 맀κ°κ°μΌλ‘ μ λ¬νλ€.
- main() λ©μλλ String[] args 맀κ°λ³μλ₯Ό ν΅ν΄μ 컀맨λ λΌμΈμμ μ λ ₯λ λ°μ΄ν°μ μμ μ λ ₯λ λ°μ΄ν°λ₯Ό μ μ μκ² λλ€.
int num1 = Integer.parseInt("10");
int num2 = Integer.parseInt("20");
// λͺ
λ Ή ν둬ννΈ : java MainStringArrayArgument 10 20
7. λ€μ°¨μ λ°°μ΄
int[][] scores = new int[2][3];
scores.length; // 2
scores[0].length; //3
scores[1].length; //3

7-1. κ°μ²΄λ₯Ό μ°Έμ‘°νλ λ°°μ΄
String[] strArray = new String[3];
strArray[0] = "Java";
strArray[1] = "Java";
strArray[2] = new String("Java");
System.out.println(strArray[0] == strArray[1]); //true
System.out.println(strArray[0] == strArray[2]); // false
System.out.println(strArray[0].equals(strArray[2]); // true
- == λ κ°μ²΄μ λ²μ§ μλ₯Ό λΉκ΅νκ³ equals λ λ¬Έμμ΄μ λΉκ΅ν μ μλ€.
8. ν₯μλ forλ¬Έ (forEach)

- for λ¬Έμ΄ μ²μ μ€νλ λ λ°°μ΄μμ κ°μ Έμ¬ 첫 λ²μ§Έ κ°μ΄ μ‘΄μ¬νλμ§ νκ°νλ€. κ°μ Έμ¬ κ°μ΄ μ‘΄μ¬νλ©΄ ν΄λΉ κ°μ λ³μμ μ μ₯νκ³ μ€νλ¬Έμ μ€ννλ€. μ€νλ¬Έμ΄ λͺ¨λ μ€νλλ©΄ λ€μ 루νλ₯Ό λμ λ°°μ΄μμ κ°μ Έμ¬ λ€μ κ°μ΄ μ‘΄μ¬νλμ§ νκ°νλ€. κ°μ Έμ¬ λ€μ νλͺ©μ΄ μμΌλ©΄ forλ¬Έμ΄ μ’ λ£λλ€.
int [] scores = { 10, 20, 30, 40, 50 };
int sum = 0;
for (int score : scores) {
sum += score;
}
9. μ΄κ±° νμ
public enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Week today = Week.SATURDAY;
today == Week.SATURDAY; // true
Week birthday = null;
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) + 1;
int day = now.get(Calendar.DAY_OF_MONTH);
int week = now.get(Calendar.DAY_OF_WEEK);
- μλ°λ Date, Calendar, LocalDateTime λ± ν΄λμ€ μ 곡νλ€.
'JAVA > Java Programming' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] DAO, DTO, VO μ 리 (0) | 2023.09.16 |
---|---|
4μ₯ 쑰건문과 λ°λ³΅λ¬Έ (0) | 2021.09.12 |
3μ₯ μ°μ°μ (0) | 2021.09.12 |
2μ₯ λ³μμ νμ (0) | 2021.09.12 |
1μ₯ μλ° μμνκΈ° (0) | 2021.09.12 |
λκΈ