Book02.class μ Cla02.classμ νμΌ
class νμΌμ΄ μλ λ°λ‘ λ§λ€μ΄μ§λ κ²μΌλ‘ μκ°ν΄μΌ.
ν ν¨ν€μ§μ μ‘΄μ¬νλ λͺ¨λ νμΌμ μ묡μ μΌλ‘ importλμ΄μλ? --> λ°μ λ§λ μ΄μΌκΈ°
μ΄λ€κ±΄ import ν΄μΌνκ³ μ΄λ€κ±΄ μλμ΄μΌ νλ..?
μλ°λ κ°μ κ³΅κ° λλ ν 리μ λ€μ΄κ°κΈ° λλ¬Έμ, ν΄λμ€μ λλ²λ§μ νλ©΄ μ’μ
If, λλ§ μΈκ±°μΌ --> λ©€λ²λ³μ μλ ν΄λμ€ μμ μ΄λ€.
if, λ€λ₯Έ κ³³μμλ μΈκ±°μΌ --> ν΄λμ€ λΆλ¦¬ν΄μ μ΄λ€ --> λ©λͺ¨λ¦¬ μ±λ₯ μ λ μ’μ
//μ¬μΉμ°μ° ν΄λμ€
class Calc03{
void Sum(int i, int j) { System.out.println(i+j);}
}
public class Cla03 {
static void Sub(int i, int j) { System.out.println(i-j);}
public static void main(String[] args) {
int a = 20, b = 10;
Sub(a, b);
Calc03 c1 = new Calc03(); // λ€λ₯Έ ν΄λμ€μ μλ λ©€λ²λ₯Ό μΈ λλ μ μΈμ νκ³ μ¬μ©ν΄μΌ ν¨.
c1.Sum(a, b);
}
}
μμ λ΄μ© μ½λ μ€ν¬λ¦½νΈ:
//μ¬μΉμ°μ° ν΄λμ€
class Calc03{
//Instance Member (κ°μ μ°λ)
void Sum(int i, int j) { System.out.println(i+j);}
//Static Member (κ°μ΄ μ°λ)
static void Mul(int i, int j) {System.out.println(i*j); } // static -->곡μ©κ³΅
public class Cla03 {
static void Sub(int i, int j) { System.out.println(i-j);}
void Div(int i, int j) { System.out.println(i/j);} // static μμ΄λ λλμ§ λ³΄κΈ° μν¨ /
// κΆμ₯μν¨. ν΄λμ€ λ΄λΆμμλ λ©μΈ λ©μλ λλ¬Έμ λ©μΈ λ©λͺ¨λ¦¬μ μ¬λΌμμμμλ λΆκ΅¬νκ³ , λ μ¬λ¦¬κ² λκΈ° λλ¬Έ.
public static void main(String[] args) {
int a = 20, b = 10;
Sub(a, b);
Calc03 c1 = new Calc03(); // λ€λ₯Έ ν΄λμ€μ μλ λ©€λ²λ₯Ό μΈ λλ μ μΈμ νκ³ μ¬μ©ν΄μΌ ν¨.
// Instance λ©€λ²: Instance μμ± new ~~(); λ³μ.λ©€λ²;
c1.Sum(a, b);
Calc03 c2 = new Calc03();
c2.Sum(200, 300);
//μ΄λ€ λ©μλλ κ·Έ 곡κ°μμλ§ μμ΄μΌνλ€ --> λΆλ¦¬ν΄μμ¬μ©
//μ΄λ€ λ©μλλ κ³΅μ© κ³΅κ°μμ μ¬μ©νλ€.. ==> static
Calc03.Mul(a, b); // static λ©€λ² : ν΄λμ€λͺ
.λ©€
//Cla03.Sub(a,b)λ‘ λμ΄μλ κ²μΈλ° κ°μ ν΄λμ€λΌμ μλ΅νκ³ μ΄λ€.
// Cla03 c3 = new Cla03();
// c3.Div(300, 200);
}
}}
Ex)
κ³ μμ λ°© λ΄μ νμ₯μ€ --> μΈμ€ν΄μ€
κ³ μμ κ³΅μ© νμ₯μ€ --> static
==> Instanceμ staticμ΄ μ’μμ§λ μν©μ λ°λΌ λ¬λΌμ§. κ·Έλ¬λ μ΄λμ λμ κΈ°μ€μ μμ.
ν΄λμ€λ λ³΄ν΅ 3κ°μ§λ‘ λλ¨
1. λ©μΈ λ©μλκ° μλ κΈ°λ° ν΄λμ€ (λ©λͺ¨λ¦¬ ꡬμ±μ΄ λλΆλΆ μ€νμ μ μ₯)
2. Tool box ν΄λμ€(static : λ©μλ μμμ λ©λͺ¨λ¦¬ 곡κ°μ ν λΉν΄μ μ μ₯)
3. Data Type ν΄λμ€ (μ£Ό λ°μ΄ν°, μμ : μ± , λμ¬λ¬΄μ : μ¬λ / λλΆλΆ μΈμ€ν΄μ€, λλΆλΆ ν(Heap)μ μ μ₯)
μμΈλ μμΌλ ν¬κ²λ³΄λ©΄ μ΄λ κ² λλλ€. λ©λͺ¨λ¦¬λ₯Ό μ΄ν΄ν΄μΌ λ°λ₯Έ μ€κ³λ₯Ό ν μ μλ€.
staticμ μ¬μ©νμ¬ κ²½μ 곡λμ²΄κ° λμ΄λ²λ¦° μ§κ° w1κ³Ό m1:
μμ±μ
μμ±μλ new μ°μ°μλ‘ ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλμ΄ κ°μ²΄μ μ΄κΈ°νλ₯Ό λ΄λΉ
κ°μ²΄ μ΄κΈ°ν : νλλ₯Ό μ΄κΈ°ννκ±°λ λ©μλλ₯Ό νΈμΆν΄μ κ°μ²΄λ₯Ό μ¬μ©ν μ€λΉλ₯Ό νλ κ².
μμ±μ μ μΈ/ νλ μ΄κΈ°ν
// μ²μλΆν° λ°μ΄ν°λ₯Ό μ
λ ₯νμ¬ λ°κΎΈκ³ μΆλ€λ©΄, μμ±μλ₯Ό λ°κΏμ£Όμ΄μΌ νλ€.
// μμ±μλ λ©μλμ ν μΆμ΄λ€.ν΄λμ€ μ΄λ¦κ³Ό λμΌν΄μΌνκ³ , μμ λ°νμ΄ μμ΄μΌ νλ€.
// μ±
p232
// ν΄λμ€λ₯Ό νμ 곡κ°μμ μ¬μ©νκΈ° μν λ©μλκ° μμ±μ λ©μλ
class Book06 {
///////////p235 νλ μ΄κΈ°ν ////////////
String title = "무μ ";
String author = "λ―Έμ";
int price = 0;
void pBook(){ System.out.println(title + "," + author + "," + price);}
//////////////////// ////////// ////////// ////////// ////////// ////////// ////////// ////////// /
// μμ±μ(Constructor) λ©μλ (voidκ° μ¨κ²¨μ Έμμ)
// Book06(){System.out.println("-->Book06() μ€ν");}
/////////////////// μμ±μ λ©μλ μ€λ²λ©(μμ±μ μ μΈ) //////////////////////// ////////// //////////
Book06(String t, String a, int p){ title = t; author = a; price = p; }
Book06(String t, String a){title = t; author = a; }
Book06(String t){title = t; }
Book06(){System.out.println(); }}
//////////////////// ////////// ////////// ////////// ////////// ////////// //////////
public class Cla06 {
public static void main(String[] args) {
Book06 b1 = new Book06(); b1.pBook();
Book06 b2 = new Book06("Java", "Tom", 30000); b2.pBook(); //μμ±μ νλ μ΄κΈ°ν
Book06 b3 = new Book06("IT", "Alice"); b3.pBook();
Book06 b4 = new Book06("OPP"); b4.pBook();
Book06 b0 = new Book06("Java", "Tom", 30000);
b0.pBook();
}
}
μμ±μ μ€λ²λ‘λ©
μμ±μ μ€λ²λ‘λ©μ΄λ λ§€κ° λ³μλ₯Ό λ¬λ¦¬νλ μμ±μλ₯Ό μ¬λ¬ κ° μ μΈνλ κ².
class Book09 {
//νλ
String title;
String author;
int price;
void pBook() { System.out.println(title + ", "+ author + ", "+ price);}
//μμ±μ
Book09(String t, String a, int p){ title = t; author = a ; price = p; }
Book09(String t, String a){ this(t, a, 40000); } // thisλ₯Ό Book09λ‘ λ체ν΄μ μκ°ν΄μΌ.ν΄λμ€ λ΄μ μμ±μκ° μ¬λ¬κ° μλ€λ©΄, λ€λ₯Έ μμ±μλ₯Ό νΈμΆνλ κ²μ΄ this μμ±μ νΈμΆ/ p241
Book09(String t){ this(t, "Jane"); } // λκ°μ§λ¦¬λ₯Ό λμ‘λλ μ λκ°μ§λ¦¬λ‘ λ°κ³ ,
Book09(){ this("OOP"); } // νλ μ§λ¦¬λ₯Ό νΈμΆνλλ μλ‘,
}
public class Cla09 {
public static void main(String[] args) {
Book09 b1 = new Book09();
Book09 b2 = new Book09("Java");
Book09 b3 = new Book09("Java", "Tom");
Book09 b4 = new Book09("Java", "Tom", 30000);
b1.pBook();
b2.pBook();
b3.pBook();
b4.pBook();
}
}
p241 ~ 243
λ€λ₯Έ μμ±μ νΈμΆ : this()
μλμ κ·Έλ¦Όμ²λΌ μΈ μΌμ κ±°μ μμ
p247
λ©μλλ μ΄μ 미리 νμ. κ·Έλμ μμ±μκ° λ μ½κ² μ΄ν΄λ¨
μμ±μκ° λ¨Όμ λ§λ€μ΄μ§λ κ²μ λ§μ. κ·Έλ¬λ λ©μλλ₯Ό λ€λ£¨μ΄μΌ μμ±μ μ΄ν΄κ° μ¬μ. κ΅Ώκ΅Ώ
λ©μλ ꡬμ±μμ 4κ°μ§ :
- λ¦¬ν΄ νμ
- λ©μλ μ΄λ¦
- λ§€κ° λ³μ μ μΈ
- λ©μλ μ€ν λΈλ‘
p252
맀κ°λ³μ κ°μλ₯Ό λͺ¨λ₯Όλ
κ°λ³κΈΈμ΄(Meth03) λλ ... λ₯Ό μ°κ±°λ (Meth04)
p255
Return문
λ©μλ μ μΈμμ return νμ μ΄ μλ λ©μλλ λ°λμ returnλ¬Έ μ¬μ©ν΄μ returnκ° μ§μ νμ(int, String λ±λ±)
returnκ° μλ κ²½μ° return typeμΌλ‘ void μ μΈ
λ©λͺ¨λ¦¬ κ΄λ ¨ μ€λͺ (p166) :
* μκ³ λ¦¬μ¦ κ³΅λΆν λ νμ! κ·Έλ¬λ κ°λ¨νκ² λ°°μ°λ κ΄μ μμ μ΄μ΄λ³΄μ§...λ§μμΌ.. ν ........... *
JVMμ μ΄μ 체μ μμ ν λΉλ°μ λ©λͺ¨λ¦¬ μμμ μλμ κ°μ΄ ꡬλΆνμ¬ μ¬μ©
λ©μλ μμ
λ©μλ μμμ JVMμ΄ μμν λ μμ±λκ³ λͺ¨λ μ€λ λκ° κ³΅μ νλ μμ.
λ©μλ μμμμλ μ½λμμ μ¬μ©λλ ν΄λμ€λ€μ ν΄λμ€λ‘λλ‘ μ½μ΄ ν΄λμ€λ³λ‘ μ μ νλμ μμ, λ©μλ μ½λ, μμ±μ μ½λ λμ λΆλ₯ν΄μ μ μ₯
ν μμ
κ°μ²΄μ λ°°μ΄μ΄ μμ±λλ μμ. μ¬κΈ°μ μμ±λ κ°μ²΄μ λ°°μ΄μ JVM μ€ν μμμ λ³μλ λ€λ₯Έ κ°μ²΄μ νλμμ μ°Έμ‘°.
μ€ν μμ
λ©μλλ₯Ό νΈμΆν λλ§λ€ νλ μμ μΆκ°(push)νκ³ λ©μλκ° μ’ λ£λλ©΄ ν΄λΉ νλ μμ μ’ λ£(pop)νλ λμ μν.
μ€ν μμ: Last in First out --> λ°λΌμ λ©μλκ° μμ±λλ©΄ 첫 λ²μ§Έ λ©μλλ Main Method κ° μ¬ μ λ°μ μμ. κ·Έλ κΈ° λλ¬Έμ κ°μ λ³μλΌλ main method λ΄μ μλ λ³μλ λ©μΈλ©μλκ° λλκΈ° μ κΉμ§λ μμ¬λΌμ§μ§λ§, κ·Έλ μ§ μμ κ²½μ° μ°μμ λ€νλ©΄ μ¬λΌμ§.
Heap μμ: 무μ§μν 곡κ°.
βοΈ μ€νμ μ¬λΌμ€λ κ²μ λ©μλ λ¨μλ‘, νλ μμ΄λ μ©μ΄λ‘ λ§λ€μ΄μ§ βοΈ
* μ΄ν΄λ¦½μ€ tip:
ctrl+shift+b κ° ν΄λΉ μ€μ λΈλ μ΄ν¬ ν¬μΈνΈ μ‘μμ£Όλ λ¨μΆν€/ κ·Έ μ΄νμ f11 λλ₯Έλ€μ f6 λλ¬μ νμ€ μ€ν
or μ λΆλΆμμ λλΈν΄λ¦νλ©΄ λΈλ μ΄ν¬ ν¬μΈνΈκ° μ°ν!
μ§κΈμ κ°μ ν΄λμ€ λ΄μμ μκΈ°νμ§λ§,
μμ κ΄κ³κ° λλ©΄,
λΆλͺ¨ μμ κ°μ λ©λͺ¨λ¦¬ νΈμΆμ΄ μΌμ΄λκΈ° μμν κ².
κ·Έλ κ² λλ©΄ λΆλͺ¨ μμ±μ 3κ°, μλ μμ±μ 3κ° κ΅μ°¨κ° λ€λ£¨μ΄μ§κ±°κ³ ... (λ§μ΄ μ°μ΄μ§ μμ§λ§)
μμλλ©΄ νΈν©λλ€. ^~^
μ€.. λ μ½κ° ν¬κΈ°νκ³ μΆμλ° π₯°
μ€λ κ°μ¬λμ ν λ§λ:
μ§κΈμ λμ μ λ무 λλ €μνμ§ λ§μΈμ
'PlayData > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Day 9 | Java] ν΄λμ€ / νμ λ³νκ³Ό λ€νμ± / (0) | 2021.11.19 |
---|---|
[Day 8 | Java] ν΄λμ€ / μμ (0) | 2021.11.19 |
[Day 6 | Java] λ°°μ΄ λ³΅μ¬ / λ©μλ / ν΄λμ€ (0) | 2021.11.17 |
[Day2 | Java] λ³μμ νμ (0) | 2021.11.17 |
[Day 1 | Java] μλ° μμνκΈ° (0) | 2021.11.16 |