μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array κ°μ²΄
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journeyπ³π
[31] 230210 Java Ch. 6 ν΄λμ€: 2. νλ, 3. μμ±μ, 4. λ©μλ [K-λμ§νΈ νΈλ μ΄λ 31μΌ] λ³Έλ¬Έ
[31] 230210 Java Ch. 6 ν΄λμ€: 2. νλ, 3. μμ±μ, 4. λ©μλ [K-λμ§νΈ νΈλ μ΄λ 31μΌ]
yjyuwisely 2023. 2. 10. 12:50230210 Fri 31th class
Ch. 6 ν΄λμ€
μ§λ: p. 248 ~ (κ΅μ¬: νΌμ 곡λΆνλ μλ°, μ μ: μ μ©κΆ)
μ€λ λ°°μ΄ κ² μ€ κΈ°μ΅ν κ²μ μ 리νλ€.
Ch. 6 ν΄λμ€
μ± μ λͺ©μ°¨
06-1 κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
06-2 νλ
06-3 μμ±μ
06-4 λ©μλ
06-5 μΈμ€ν΄μ€ λ©€λ²μ μ μ λ©€λ²
06-6 ν¨ν€μ§μ μ κ·Ό μ νμ
6.2 νλ(Field) p. 224
νλ: κ°μ²΄μ λ°μ΄ν°(λ©€λ² λ³μ)κ° μ μ₯λλ κ³³. μμ±μμ λ©μλ μ 체μμ μ¬μ©λλ©° κ°μ²΄κ° μλ©Έλμ§ μλ ν κ°μ²΄μ ν¨κ» μ‘΄μ¬νλ€.
νλλ κ°μ²΄μ κ³ μ λ°μ΄ν°, κ°μ²΄κ° κ°μ ΈμΌ ν λΆν, κ°μ²΄μ νμ¬ μν λ°μ΄ν°λ₯Ό μ μ₯νλ κ³³μ΄λ€.
public class Car{
//νλ(μ μλ³μ)
//μλλ κΈ°λ³Έ νμ
μ΄λ€.
//μ μνμ¬(νλ, μΌμ±, κΈ°μ)
String company;
//λͺ¨λΈ(SONATA, K5, SM)
String model;
//μκΉ(WHITE, BLACK, GRAY)
String color
//μ΅κ³ μλ(200)
int maxSpeed;
//νμ¬ μλ(60)
int speed;
//μμ§ νμ μ(1200RPM)
int rmp;
//μλλ μ°Έμ‘° νμ
μ΄λ€.
//λΆν
Body body;
//μμ§
Engine engine;
//νμ΄μ΄
Tire tire;
//μμ±μ
//λ©μλ
}
6.2.1 νλ μ μΈ
ν΄λμ€ μ€κ΄νΈ {} λΈλ‘ μ΄λμλ μ μΈνλ, μμ±μμ λ©μλ λ΄λΆμμλ μ μΈν μ μλ€.
νλ, μ μλ³μλ μ΄κΈ°κ°μ μ μ μ΄λ λλ€. (μ§μ λ³μλ μ΄κΈ°κ° λ£μ΄μΌ νλ€.)
λΆλ₯ | νμ | μ΄κΈ°κ° | |
κΈ°λ³Έ νμ | μ μ νμ | byte | 0 |
char | \u0000 (λΉ κ³΅λ°±) | ||
short | 0 | ||
int | 0 | ||
long | 0L | ||
μ€μ νμ | float | 0.0F | |
double | 0.0 | ||
λ Όλ¦¬ νμ | boolean | false | |
μ°Έμ‘° νμ | λ°°μ΄ | null | |
ν΄λμ€(String ν¬ν¨) | null | ||
μΈν°νμ΄μ€ | null |
6.2.2 νλ μ¬μ©
νλλ₯Ό μ¬μ©νλ€ = νλκ°μ μ½κ³ λ³κ²½νλ μμ
ν΄λμ€ λ΄λΆμ μμ±μλ λ©μλλ₯Ό μ¬μ©ν κ²½μ° λ¨μν νλ μ΄λ¦μΌλ‘ μ½κ³ λ³κ²½νλ©΄ λμ§λ§,
ν΄λμ€ μΈλΆμμ μ¬μ©ν κ²½μ°μλ μ°μ μ μΌλ‘ ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ€ νλλ₯Ό μ¬μ©ν΄μΌ νλ€.
Car myCar = new Car();
myCar λ³μκ° Car κ°μ²΄λ₯Ό μ°Έμ‘°νκ² λλ©΄ λνΈ(.) μ°μ°μλ₯Ό μ¬μ©ν΄μ speed νλμ μ κ·Όν μ μλ€.
λνΈ(.) μ°μ°μλ κ°μ²΄ μ κ·Ό μ°μ°μλ‘ κ°μ²΄κ° κ°μ§κ³ μλ νλλ λ©μλλ₯Ό μ¬μ©νκ³ μ ν λ μ¬μ©λλ€.
μμ ) Car ν΄λμ€ νλ μ μΈ Car.java
public class Car {
//νλ
//μ μ‘°νμ¬
String company = "νλμλμ°¨";
//λͺ¨λΈ
String model = "κ·Έλμ ";
//μ°¨μ μκΉ
String color = "κ²μ ";
//μ΅λ μλκ°
int maxSpeed = 350;
//νμ¬ μλ
int speed; //μμ λ€λ₯΄κ² μ΄κΈ°κ°μ΄ μλ€.
}
μΈλΆ ν΄λμ€μμ Car νλκ° μ½κΈ°μ λ³κ²½
//mainλ©μλκ° μλ ν΄λμ€μμ κ°μ²΄ μμ±
public class CarExample {
public static void main(String[] args) {
//newλΌλ ν€μλλ‘ [νΈμΆ]νλ€.
//Carν΄λμ€μμ μμ±λ μλ‘μ΄ μ£Όμ(new)λ₯Ό mycarλ³μμ μ μ₯νλ€.
// int a = 10
Car mycar = new Car();
//Carν΄λμ€μ μλ νλκ° κ°μ Έμ€κΈ°
System.out.println("μ μνμ¬ : " + mycar.company);
System.out.println("λͺ¨λΈλͺ
: " + mycar.company);
System.out.println("μκΉ : " + mycar.company);
System.out.println("μ΅κ³ μλ : " + mycar.company);
System.out.println("νμ¬μλ : " + mycar.company);
}
}
μμ 2) νλ μλ μ΄κΈ°ν
public class FieldInitValue {
//νλ
byte byteField;//νμ
μ΄ byteλ©΄, κΈ°λ³Έκ°μ 0
short shortField; //νμ
μ΄ shortμ΄λ©΄, κΈ°λ³Έκ°μ 0
int intField; //νμ
μ΄ intμ΄λ©΄, κΈ°λ³Έκ°μ 0
long longField; //νμ
μ΄ longμ΄λ©΄, κΈ°λ³Έκ°μ 0
boolean booleanField; //νμ
μ΄ booleanλ©΄, κΈ°λ³Έκ°μ false
char charField; //νμ
μ΄ charμ΄λ©΄, κΈ°λ³Έκ°μ λΉ κ³΅λ°±
float floatField; //νμ
μ΄ floatλ©΄, κΈ°λ³Έκ°μ 0.0
double doubleField; //νμ
μ΄ doubleμ΄λ©΄, κΈ°λ³Έκ°μ 0.0
int[] arrField; //νμ
μ΄ λ°°μ΄νμ
μ΄λ©΄, κΈ°λ³Έκ°μ null
String referenceField; //νμ
μ΄ Stringμ΄λ©΄, κΈ°λ³Έκ°μ null
}
νλκ° μΆλ ₯
FieldInitValue fiv = new FieldInitValue();
public class FieldInitValueExample {
public static void main(String[] args) {
FieldInitValue fiv = new FieldInitValue();
System.out.println("byteField: " + fiv.byteField);
System.out.println("shortField: " + fiv.shortField);
System.out.println("intField: " + fiv.intField);
System.out.println("longField: " + fiv.byteField);
System.out.println("booleanField: " + fiv.booleanField);
System.out.println("charField: " + fiv.charField);
System.out.println("floatField: " + fiv.floatField);
System.out.println("doubleField: " + fiv.doubleField);
System.out.println("arrField: " + fiv.arrField);
System.out.println("referenceField: " + fiv.referenceField);
}
}
κ²°κ³Ό)
byteField: 0
shortField: 0
intField: 0
longField: 0
booleanField: false
charField:
floatField: 0.0
doubleField: 0.0
arrField: null
referenceField: null
λ§λ¬΄λ¦¬
2κ°μ§ ν€μλλ‘ λλ΄λ ν΅μ¬ ν¬μΈνΈ
1) νλ μ μΈ: ν΄λμ€ μ€κ΄νΈ {} λΈλ‘ μ΄λμλ μ μΈνλ, μμ±μμ λ©μλ λ΄λΆμμλ μ μΈν μ μλ€.
2) νλ μ¬μ©: ν΄λμ€ λ΄λΆμ μμ±μμ λ©μλμμ λ°λ‘ μ¬μ©μ΄ κ°λ₯νλ, ν΄λμ€ μΈλΆμμ μ¬μ©ν κ²½μ°μλ λ°λμ κ°μ²΄λ₯Ό μμ±νκ³ μ°Έμ‘° λ³μλ₯Ό ν΅ν΄ μ¬μ©ν΄μΌ νλ€.
Q2
μ½λ)
public class Member {
//μ΄λ¦("μ μλ°")
String name;
//μμ΄λ("abcd")
String id;
//ν¨μ€μλ("abcd1234!!")
String password;
//λμ΄(30)
int age;
}
Q3
μ½λ) Member member = new Member();
public class MemberExample {
public static void main(String[] args) {
//Member ν΄λμ€ κ°μ²΄ μμ±
Member member = new Member();
member.name = "μ΅νμ";//name νλκ° λ³κ²½
member.age = 23;//age νλκ° λ³κ²½
}
}
6.3 μμ±μ p. 232
μμ±μ: new ν€μλλ‘ ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλμ΄ κ°μ²΄μ μ΄κΈ°νλ₯Ό λ΄λΉνλ€.
(κ°μ²΄ μμ±: Car mycar = new Car();)
κ°μ²΄ μ΄κΈ°ν:
νλλ₯Ό μ΄κΈ°ννκ±°λ μμ±μ λ΄λΆμμ νλκ°μ μ΄κΈ°νν μ μμΌλ©°,
λ©μλλ₯Ό νΈμΆν΄μ κ°μ²΄λ₯Ό μ¬μ©νκΈ° μ μ κ°μ²΄λ₯Ό μ¬μ©ν μ€λΉλ₯Ό νλ κ²μ΄λ€.
μλ°μμλ κ°μ²΄μ μμ±κ³Ό λμμ μΈμ€ν΄μ€ λ³μλ₯Ό μνλ κ°μΌλ‘ μ΄κΈ°νν μ μλ μμ±μ(constructor)λΌλ λ©μλλ₯Ό μ 곡ν©λλ€.
μλ°μμ μμ±μ(constructor)μ μ΄λ¦μ ν΄λΉ ν΄λμ€μ μ΄λ¦κ³Ό κ°μμΌ ν©λλ€.
μ¦, Car ν΄λμ€μ μμ±μμ μ΄λ¦μ Carκ° λ©λλ€.
μ΄λ¬ν μμ±μλ λ€μκ³Ό κ°μ νΉμ§μ κ°μ§λλ€.
1. μμ±μλ λ°νκ°μ΄ μμ§λ§, λ°ν νμ μ voidνμΌλ‘ μ μΈνμ§ μμ΅λλ€.
2. μμ±μλ μ΄κΈ°νλ₯Ό μν λ°μ΄ν°λ₯Ό μΈμλ‘ μ λ¬λ°μ μ μμ΅λλ€.
3. κ°μ²΄λ₯Ό μ΄κΈ°ννλ λ°©λ²μ΄ μ¬λ¬ κ° μ‘΄μ¬ν κ²½μ°μλ νλμ ν΄λμ€κ° μ¬λ¬ κ°μ μμ±μλ₯Ό κ°μ§ μ μμ΅λλ€.
μ¦, μμ±μλ νλμ λ©μλμ΄λ―λ‘, λ©μλ μ€λ²λ‘λ©μ΄ κ°λ₯νλ€λ μλ―Έμ λλ€.
μ°Έκ³ : http://www.tcpschool.com/java/java_methodConstructor_constructor
6.3.1 κΈ°λ³Έ μμ±μ
λͺ¨λ ν΄λμ€λ μμ±μκ° λ°λμ μ‘΄μ¬νλ©°, μμ±μλ₯Ό νλ μ΄μ κ°μ§ μ μλ€.
μ°λ¦¬κ° ν΄λμ€ λ΄λΆμ μμ±μ μ μΈμ μλ΅νλ€λ©΄ ν΄λμ€ μ μΈ μ μ»΄νμΌλ¬μ μν΄ μλμΌλ‘ μΆκ°λλ μμ±μμ΄λ€. (μμ±μλ₯Ό μλ΅νλ©΄ κΈ°λ³Έ μμ±μλ₯Ό μλμΌλ‘ μΆκ°νλ€.) μΈκΈ μ νλ©΄ κΈ°λ³Έ μμ±μλ₯Ό μ΄λ€.
ν΄λμ€κ° public classλ‘ μ μΈλλ©΄ κΈ°λ³Έ μμ±μμμλ publicμ΄ λΆμ§λ§,
ν΄λμ€κ° public μμ΄ classλ‘λ§ μ μΈλλ©΄ κΈ°λ³Έ μμ±μμλ publicμ΄ λΆμ§ μλλ€.
ν΄λμ€μ μμ±μλ₯Ό μ μΈνμ§ μμλ new μ°μ°μ λ€μ κΈ°λ³Έ μμ±μλ₯Ό νΈμΆν΄μ κ°μ²΄λ₯Ό μμ±ν μ μλ€.
Car myCar = new Car();
Car(): κΈ°λ³Έ μμ±μ
javascriptμ κ²½μ°
ν¨μ μ μΈ
function add1(){}
function add2(a,b){}
ν¨μ νΈμΆ
add1(); //()μ΄λκΉ ()λ₯Ό νΈμΆνλ€.
add2(10,20); //(a,b)μ΄λκΉ (10,20)μ νΈμΆνλ€.
6.3.2 μμ±μ μ μΈ
ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλλ μμ±μλ₯Ό λͺ
μμ μΌλ‘ μ μΈν μ μλ€.
μμ±μλ₯Ό μ μΈνλ©΄ κΈ°λ³Έ μμ±μλ μμ±λμ§ μλλ€.
1. ν΄λμ€μ΄λ¦() { ... } // 맀κ°λ³μκ° μλ μμ±μ μ μΈ
2. ν΄λμ€μ΄λ¦(μΈμ1, μΈμ2, ...) { ... } // 맀κ°λ³μκ° μλ μμ±μ μ μΈ
public class Car {
//κΈ°λ³Έ μμ±μ
//[public] ν΄λμ€λͺ
(){}
//Car(){}
//κΈ°λ³Έ μμ±μκ° μλ μμ±μλ₯Ό μ μΈ
//ν΄λμ€λͺ
(νμ
맀κ°λ³μλͺ
, νμ
맀κ°λ³μλͺ
...){}
Car(String color, int cc){
}
}
public class CarExample {
public static void main(String[] args) {
//newλΌλ ν€μλλ‘ [νΈμΆ]νλ€.
//Carν΄λμ€μμ μμ±λ μλ‘μ΄ μ£Όμ(new)λ₯Ό mycarλ³μμ μ μ₯νλ€.
// int a = 10
Car mycar = new Car("κ²μ ",3000);
//Car mycar = new Car();(x): κΈ°λ³Έ μμ±μ X
}
}
6.3.3 νλ μ΄κΈ°ν p. 235
ν΄λμ€λ‘λΆν° κ°μ²΄κ° μμ±λ λ νλλ κΈ°λ³Έ μ΄κΈ°κ°μΌλ‘ μλ μ€μ λλ€.
λ§μ½ λ€λ₯Έ κ°μΌλ‘ μ΄κΈ°ννκ³ μΆλ€λ©΄ 1) νλλ₯Ό μ μΈν λ μ΄κΈ°κ°μ μ£Όλ λ°©λ²κ³Ό 2) μμ±μμκ² μ΄κΈ°κ°μ μ£Όλ λ°©λ²μ΄ μλ€. 1)μ κ²½μ° λμΌν ν΄λμ€λ‘λΆν° μμ±λλ κ°μ²΄λ€μ λͺ¨λ κ°μ κ°μ κ°μ§λ€.
μμ ) μμ±μμμ νλ μ΄κΈ°ν
'this.νλ'λ thisλΌλ μ°Έμ‘° λ³μλ‘ νλλ₯Ό μ¬μ©νλ κ²κ³Ό λμΌνλ€.
public class Korean {
//νλ
//κ΅κ°
String nation = "λνλ―Όκ΅"; //λνλ―Όκ΅μΌλ‘ nationνλμ μ΄κΈ°ν
//μ΄κΈ°ν(x) -> 맀κ°λ³μκ° μλ μμ±μμ μν΄μ "λ°μλ°"λΌλ λ¬Έμμ΄μ΄ name νλμ μ΄κΈ°ν
String name;
//μ΄κΈ°ν(x) -> 맀κ°λ³μκ° μλ μμ±μμ μν΄μ "011225-1234567"λΌλ λ¬Έμμ΄μ΄ ssn νλμ μ΄κΈ°ν
String ssn;
//μλ μΆκ°: μλμͺ½μ 맀κ°λ³μκ° μλ μμ±μμ μν΄μ
//μλ μΆκ°λ κΈ°λ³Έμμ±μλ μμ΄μ§λ€.
//Korean()
//μμ±μ
Korean(String name, String ssn){
this.name = name;
this.ssn = ssn;
}
}
6.3.4 μμ±μ μ€λ²λ‘λ© (Overloading) p. 238
μΈλΆμμ μ 곡λλ λ€μν λ°μ΄ν°λ€μ μ΄μ©ν΄μ κ°μ²΄λ₯Ό μ΄κΈ°ννλ €λ©΄ μμ±μλ λ€μνλ νμκ° μλ€.
μ€λ²λ‘λ©: λ§€κ° λ³μλ₯Ό λ¬λ¦¬νλ μμ±μλ₯Ό μ¬λ¬ κ° μ μΈνλ κ²μ λ§νλ€.
μ€λ²λ‘λ©μ 쑰건
- λ©μλμ μ΄λ¦μ΄ κ°λ€.
- λ§€κ° λ³μμ νμ
μ΄ λ€λ₯΄λ€.
- λ§€κ° λ³μμ κ°μκ° λ€λ₯΄λ€.
μλ°μ€ν¬λ¦½νΈμ κ²½μ°)
//λ©μλ μ μΈ
//μ μ+μ μ
int add(int a, int b){
int result = a + b;
return result;
}
//μ μ+μ€μ
double add2(int a, double b){
double result = a + b;
return result;
}
//μ€μ+μ μ
double add3(double a, int b){
double result = a + b;
return result;
}
//μ€μ+μ€μ
double add4(double a, double b){
double result = a + b;
return result;
}
//λ©μλ νΈμΆ
add1(1,2);
add2(1,2.5);
add3(1.5,2);
add4(1.5,2.5);
μλ°μ κ²½μ°)
//λ©μλ νΈμΆ
add(1,2);
add(1,2.5);
add(1.5,2);
add(1.5,2.5);
μμ ) μμ±μμ μ€λ²λ‘λ© p. 239
public class Car {
//νλ
//μ μ‘°νμ¬
String company = "νλμλμ°¨";
//λͺ¨λΈ
String model; //= "κ·Έλμ ";
//μ°¨μ μκΉ
String color; //= "κ²μ ";
//μ΅λ μλκ°
int maxSpeed; //= 350;
//μμ±μ μ μΈ
Car(){//λ§€κ° λ³μκ° μλ μμ±μ - κΈ°λ³Έ μμ±μ
}
Car(String model){//λ§€κ° λ³μκ° 1κ°μΈ μμ±μ
this.model = model;
}
Car(String model, String color){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ - λ§€κ° λ³μλ νμ
μ΄ κ°μ(String, String)
this.model = model;
this.color = color;
}
Car(String model, int speed){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ - λ§€κ° λ³μλ νμ
μ΄ λ€λ¦(String, int)
this.model = model;
this.speed = speed;
}
Car(String model, String color, int maxSpeed){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
μμ ) κ°μ²΄ μμ± μ μμ±μ μ ν
public class CarExample {
public static void main(String[] args) {
//newλΌλ ν€μλλ‘ [νΈμΆ]νλ€.
//Carν΄λμ€μμ μμ±λ μλ‘μ΄ μ£Όμ(new)λ₯Ό mycarλ³μμ μ μ₯νλ€.
// int a = 10
//Car mycar = new Car("κ²μ ",3000);
//Car mycar = new Car();(x): κΈ°λ³Έ μμ±μ X
//Carν΄λμ€μ μλ νλκ° κ°μ Έμ€κΈ°
//System.out.println("μ μνμ¬ : " + mycar.company);
//System.out.println("λͺ¨λΈλͺ
: " + mycar.company);
//System.out.println("μκΉ : " + mycar.company);
//System.out.println("μ΅κ³ μλ : " + mycar.company);
//System.out.println("νμ¬μλ : " + mycar.company);
//Carν΄λμ€μμ μμ±λ μλ‘μ΄ μ£Όμ(new)λ₯Ό mycarλ³μμ μ μ₯νλ€.
// λ§€κ° λ³μκ° μλ μμ±μ νΈμΆ - κΈ°λ³Έ μμ±μ νΈμΆ
Car car1 = new Car();
System.out.println(car1.company);
System.out.println();
Car car2 = new Car("μκ°μ©");
System.out.println(car2.company);
System.out.println(car2.model);
System.out.println();
Car car3 = new Car("μκ°μ©", "λΉ¨κ°");
System.out.println(car3.company);
System.out.println(car3.model);
System.out.println(car3.color);
System.out.println();
Car car31 = new Car("μκ°μ©", 200);
System.out.println(car31.company);
System.out.println(car31.model);
System.out.println(car31.speed);
Car car4 = new Car("μκ°μ©", "λΉ¨κ°", 200);
System.out.println(car4.company);
System.out.println(car4.model);
System.out.println(car3.color);
System.out.println(car4.maxSpeed);
}
}
6.3.5 λ€λ₯Έ μμ±μ νΈμΆ: this() p. 241
this = λ
this(): κ°μ²΄ μμ μ λ λ€λ₯Έ μμ±μλ₯Ό νΈμΆν λ μ¬μ©νλ€.
μμ±μ μ€λ²λ‘λ©μ΄ λ§μμ§ κ²½μ° μμ±μ κ°μ μ€λ³΅λ μ½λκ° λ°μν μ μλ€. μ΄ κ²½μ° νλ μ΄κΈ°ν λ΄μ©μ ν μμ±μμκ²λ§ μ§μ€μ μΌλ‘ μμ±νκ³ λλ¨Έμ§ μμ±μλ μ΄κΈ°ν λ΄μ©μ κ°μ§κ³ μλ μμ±μλ₯Ό νΈμΆνλ λ°©λ²μΌλ‘ κ°μ ν μ μλ€.
this()λ μμ μ΄ λ€λ₯Έ μμ±μλ₯Ό νΈμΆνλ μ½λλ‘ λ°λμ μμ±μμ 첫 μ€μμλ§ νμ©λλ€. this() λ€μμλ μΆκ°μ μΈ μ€νλ¬Έλ€μ΄ μ¬ μ μλ€.
this() λ©μλλ μμ±μ λ΄λΆμμλ§ μ¬μ©ν μ μμΌλ©°, κ°μ ν΄λμ€μ λ€λ₯Έ μμ±μλ₯Ό νΈμΆν λ μ¬μ©ν©λλ€.
this() λ©μλμ μΈμλ₯Ό μ λ¬νλ©΄, μμ±μ μ€μμ λ©μλ μκ·Έλμ²(λ©μλ μ΄λ¦κ³Ό 맀κ°λ³μ 리μ€νΈμ μ‘°ν©)κ° μΌμΉνλ λ€λ₯Έ μμ±μλ₯Ό μ°Ύμ νΈμΆν΄ μ€λλ€.
μμ 1) λ€λ₯Έ μμ±μλ₯Ό νΈμΆν΄μ μ€λ³΅ μ½λ μ€μ΄κΈ°
public class Car {
//νλ
//μ μ‘°νμ¬
String company = "νλμλμ°¨";
//λͺ¨λΈ
String model; //= "κ·Έλμ ";
//μ°¨μ μκΉ
String color; //= "κ²μ ";
//μ΅λ μλκ°
int maxSpeed; //= 350;
//νμ¬ μλ
int speed; //μμ λ€λ₯΄κ² μ΄κΈ°κ°μ΄ μλ€.
//μμ±μ μ μΈ
Car(){//λ§€κ° λ³μκ° μλ μμ±μ - κΈ°λ³Έ μμ±μ
}
Car(String model){//λ§€κ° λ³μκ° 1κ°μΈ μμ±μ
//this.model = model;
this(model,"μμ",250);
}
Car(String model, String color){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ - λ§€κ° λ³μλ νμ
μ΄ κ°μ(String, String)
this.model = model;
this.color = color;
}
Car(String model, int speed){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ - λ§€κ° λ³μλ νμ
μ΄ λ€λ¦(String, int)
this.model = model;
this.speed = speed;
}
Car(String model, String color, int maxSpeed){//λ§€κ° λ³μκ° 2κ°μΈ μμ±μ
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
λ§λ¬΄λ¦¬
6κ°μ§ ν€μλλ‘ λλ΄λ ν΅μ¬ ν¬μΈνΈ
1) κΈ°λ³Έ μμ±μ: ν΄λμ€ μ μΈ μ μ»΄νμΌλ¬μ μν΄ μλμΌλ‘ μΆκ°λλ μμ±μμ΄λ€.
2) μμ±μ μ μΈ: ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλλ μμ±μλ₯Ό λͺ
μμ μΌλ‘ μ μΈν μ μλ€.
μμ±μλ₯Ό μ μΈνλ©΄ κΈ°λ³Έ μμ±μλ μμ±λμ§ μλλ€.
3) λ§€κ° λ³μ: μμ±μ νΈμΆ μ κ°μ μ λ¬λ°κΈ° μν΄ μ μΈλλ λ³μλ₯Ό λ§νλ€.
4) κ°μ²΄ μ΄κΈ°ν: κ°μ²΄λ₯Ό μ¬μ©νκΈ° μ μ μ€λΉνλ κ³Όμ μΌλ‘
νλλ₯Ό μ μΈν λ μ΄κΈ°ννκ±°λ μμ±μ λ΄λΆμμ νλκ°μ μ΄κΈ°νν μ μμΌλ©°,
λ©μλλ₯Ό νΈμΆνλ λ΄μ©μΌλ‘ ꡬμ±λλ€.
5) μ€λ²λ‘λ©: λ§€κ° λ³μλ₯Ό λ¬λ¦¬νλ μμ±μλ₯Ό μ¬λ¬ κ° μ μΈνλ κ²μ λ§νλ€.
6) this(): κ°μ²΄ μμ μ λ λ€λ₯Έ μμ±μλ₯Ό νΈμΆν λ μ¬μ©νλ€.
6.4 λ©μλ p. 247
λ©μλλ κ°μ²΄μ λμμ ν΄λΉνλ μ€κ΄νΈ {} λΈλ‘μ΄λ€. μ€κ΄νΈ λΈλ‘ μ΄λ¦μ΄ λ©μλ μ΄λ¦μ΄λ©°, λ©μλλ₯Ό νΈμΆνλ©΄ μ€κ΄νΈ λΈλ‘μ μλ λͺ¨λ μ½λλ€μ΄ μΌκ΄μ μΌλ‘ μ€νλλ€.
6.4.1 λ©μλ μ μΈ
λ©μλ μ μΈμ μ μΈλΆμ μ€ν λΈλ‘μΌλ‘ ꡬμ±λλ€.
리ν΄νμ
λ©μλ μ΄λ¦ ([맀κ°λ³μμ μΈ, ...]_{
μ€νν μ½λλ₯Ό μμ±νλ κ³³ //λ©μλ μ€ν λΈλ‘
}
λ©μλ μ μΈλΆ (method signature): λ¦¬ν΄ νμ
, λ©μλ μ΄λ¦, λ§€κ° λ³μ μ μΈ
- λ¦¬ν΄ νμ
: λ©μλκ° λ¦¬ν΄νλ κ²°κ³Ό νμ
νμ
- λ©μλ μ΄λ¦
- 맀κ°λ³μμ μΈ: λ©μλκ° μ€νν λ νμν λ°μ΄ν°λ₯Ό λ°κΈ° μν λ³μ
λ©μλ μ€ν λΈλ‘: μ€νν μ½λλ₯Ό μμ±νλ€.
μμ)
public class Calculator {
//νλ
//μμ±μ
//λ©μλ
void powerOn() {
System.out.println("μ μμ μΌλλ€.");
}
int plus(int x, int y) {
int result = x + y;
return result;
}
double divide(int x, int y) {
double result = (double)x / (double)y;
return result;
}
void powerOff() {
System.out.println("μ μμ λλλ€.");
}
}
1) λ¦¬ν΄ νμ
λ¦¬ν΄ νμ
= 리ν΄κ°μ νμ
리ν΄κ° = λ©μλλ₯Ό μ€νν νμ κ²°κ΄κ°
λ©μλμ 리ν΄κ°μ΄ μμ κ²½μ° λ¦¬ν΄ νμ
μ΄ μ μΈλΆμ λͺ
μλμ΄μΌ νλ€.
리ν΄κ°μ΄ μλλ μλλμ λ°λΌ λ©μλλ₯Ό νΈμΆνλ λ°©λ²μ΄ λ€λ₯΄λ€.
powerOn(); // 리ν΄κ°μ΄ μκΈ° λλ¬Έμ λ³μμ μ μ₯ν λ΄μ©μ΄ μλ€.
double result = divide(10, 20); //리ν΄κ°μ λ°κΈ° μν΄ λ¦¬ν΄ νμ
μΈ double νμ
μΌλ‘ μ μΈλμ΄μΌ νλ€.
int result = divide(10, 20); //μ»΄νμΌ μλ¬
리ν΄κ°μ λ°κΈ° μν΄ λ¦¬ν΄ νμ
μΈ double νμ
μΌλ‘ μ μΈλμ΄μΌ νλ€.
λ§μ½ result λ³μλ₯Ό int νμ
μΌλ‘ μ μΈνκ² λλ©΄ double κ°μ μ μ₯ν μ μκΈ° λλ¬Έμ μ»΄νμΌ μλ¬κ° λ°μνλ€.
리ν΄κ°μ΄ μ€μνμ§ μκ³ λ©μλ μ€νμ΄ μ€μν κ²½μ° λ³μλ₯Ό μ μΈνμ§ μκ³ λ©μλλ₯Ό νΈμΆν μλ μλ€.
divide(10, 20);
2) λ©μλ μ΄λ¦
- μ«μλ‘ μμνλ©΄ μ λκ³ , $, _λ₯Ό μ μΈν νΉμ λ¬Έμ μ¬μ© X
- κ΄λ‘μ μΌλ‘ λ©μλ μ΄λ¦μ μλ¬Έμλ‘ μμ±νλ€.
- μλ‘ λ€λ₯Έ λ¨μ΄κ° νΌν©λ μ΄λ¦μ΄λΌλ©΄ λ€μ΄μ΄ μ€λ λ¨μ΄μ 첫 κΈμλ λλ¬Έμλ‘ μμ±νλ€.
μ μμ±λ λ©μλ μ΄λ¦μ μμ (λ©μλκ° μ΄λ€ κΈ°λ₯μ μννλμ§ μ½κ² μ μ μλ€. :))
void run(){...}
void startEngine(){...}
String getName(){...}
int[] getScores(){...}
3) λ§€κ° λ³μ μ μΈ p. 250
λ§€κ° λ³μλ λ©μλκ° μ€νν λ νμν λ°μ΄ν°λ₯Ό μΈλΆλ‘λΆν° λ°κΈ° μν΄ μ¬μ©λλ€.
λ§€κ° λ³μκ° νμν κ²½μ°λ μκ³ , νμ μλ κ²½μ°κ° μλ€.
맀κ°κ°μ λ°λμ λ§€κ° λ³μμ νμ
μ λΆν©λλ κ°μ΄μ΄μΌ νλ€.
void: 리ν΄κ°μ΄ μλ λ©μλλ λ¦¬ν΄ νμ
μΌλ‘ voidλ₯Ό κΈ°μ ν΄μΌ νλ€.
μμ ) λ©μλ μ μΈ
public class Calculator {
//νλ
//μμ±μ
//λ©μλ
void powerOn() {
System.out.println("μ μμ μΌλλ€.");
}
int plus(int x, int y) {
int result = x + y;
return result;
}
double divide(int x, int y) {
double result = (double)x / (double)y;
return result;
}
void powerOff() {
System.out.println("μ μμ λλλ€.");
}
}
μμ ) λ©μλ νΈμΆ
public class CalculatorExample {
public static void main(String[] args) {
Calculator myCalc = new Calculator();
//Calculator ν΄λμ€μ powerOn λ©μλ νΈμΆ
myCalc.powerOn();
//Calculator ν΄λμ€μ plus λ©μλ νΈμΆ
int result1 = myCalc.plus(5, 6);
System.out.println(result1);
byte x = 10;
byte y = 4;
//Calculator ν΄λμ€μ divide λ©μλ νΈμΆ
double result2 = myCalc.divide(x, y);
System.out.print(result2);
//Calculator ν΄λμ€μ powerOff λ©μλ νΈμΆ
myCalc.powerOff();
}
}
4) λ§€κ° λ³μμ κ°μλ₯Ό λͺ¨λ₯Ό κ²½μ°
ex) μ¬λ¬ κ°μ μλ₯Ό λͺ¨λ ν©μ°νλ λ©μλλ₯Ό μ μΈ
ν΄κ²°μ±
μ λ§€κ° λ³μλ₯Ό λ°°μ΄ νμ
μΌλ‘ μ μΈνλ κ²μ΄λ€.
int sum1(int[] values){}
//sum1() λ©μλλ₯Ό νΈμΆν λ λ°°μ΄μ λ겨μ€μΌλ‘μ¨ λ°°μ΄μ νλͺ© κ°λ€μ λͺ¨λ μ λ¬ν μ μλ€.
//λ°°μ΄μ νλͺ© μλ νΈμΆν λ κ²°μ λλ€.
int[] values = {1, 2, 3};
int result = sum1(values);
int result = sum1(new int[] {1, 2, 3, 4, 5});
λ§€κ° λ³μλ₯Ό λ°°μ΄ νμ
μΌλ‘ μ μΈνλ©΄ λ©μλλ₯Ό νΈμΆνκΈ° μ μ λ°°μ΄μ μμ±ν΄μΌ νλ λΆνΈν μ μ΄ μλ€.
κ·Έλμ λ°°μ΄μ μμ±νμ§ μκ³ κ°μ λͺ©λ‘λ§ λ겨주λ λ°©λ²λ μλ€.
sum2() λ©μλμ λ§€κ° λ³μλ₯Ό ...λ₯Ό μ¬μ©ν΄μ μ μΈνκ² λλ©΄ λ©μλ νΈμΆ μ λκ²¨μ€ κ°μ μμ λ°λΌ μλμΌλ‘ λ°°μ΄μ΄ μμ±λκ³ λ§€κ°κ°μΌλ‘ μ¬μ©λλ€.
int sum2(int ... values){}
//...λ‘ μ μΈλ λ§€κ° λ³μμ κ°μ λ©μλ νΈμΆ μ μΌνλ‘ λμ΄ν΄μ£Όλ©΄ λλ€.
int result = sum2(1, 2, 3);
int result = sum2(1, 2, 3, 4, 5);
//λ€μκ³Ό κ°μ΄ λ°°μ΄μ μ§μ 맀κ°κ°μΌλ‘ μ¬μ©ν΄λ μ’λ€.
int[] values = {1, 2, 3};
int result = sum2(values);
int result = sum2(new int[]{1, 2, 3, 4, 5});
μμ 1) λ§€κ° λ³μμ κ°μλ₯Ό λͺ¨λ₯Ό κ²½μ°
λ©μλμ μ€νλ¬Έμ΄ μμ ν μΌμΉνλ€. μ μΈ λ°©λ²λ§ λ€λ₯Ό λΏμ΄μ§ λ§€κ° λ³μμ νμ
μ΄ λ°°μ΄μ΄λ―λ‘ μ²λ¦¬ λ΄μ©μ΄ κ°λ€.
public class Computer {
//λ©μλ μ μΈ μ 맀κ°λ³μμ κ°μλ₯Ό λͺ¨λ₯Ό λ
//1. λ§€κ° λ³μμ λ°°μ΄ μ μΈ
int sum1(int[] values) {
int sum = 0;
for(int i=0; i<values.length; i++) {
sum += values[i];
}
return sum;
}
//2. ...
int sum2(int ... values) {
int sum = 0;
for(int i=0; i<values.length; i++) {
sum += values[i];
}
return sum;
}
}
μμ 2) λ§€κ° λ³μμ κ°μλ₯Ό λͺ¨λ₯Ό κ²½μ°
public class ComputerExample {
public static void main(String[] args) {
Computer myCom = new Computer();
int[] values1 = {1, 2, 3};
int result1 = myCom.sum1(values1);
System.out.println("result1: "+result1);
int result2 = myCom.sum1(new int[] {1, 2, 3, 4, 5});
System.out.println("result2: "+result2);
int result3 = myCom.sum2(1, 2, 3);
System.out.println("result3: "+result3);
int result4 = myCom.sum2(1, 2, 3, 4, 5);
System.out.println("result4: "+result4);
}
}
6.4.2 리ν΄(return)λ¬Έ p. 254
1) 리ν΄κ°μ΄ μλ λ©μλ
return 리ν΄κ°;
returnλ¬Έ μ΄νμ μ€νλ¬Έμ κ²°μ½ μ€νλμ§ μλλ€.
2) 리ν΄κ°μ΄ μλ λ©μλ: void p. 255
리ν΄κ°μ΄ μλ λ©μλλ λ¦¬ν΄ νμ
μΌλ‘ voidλ₯Ό μ¬μ©νλ€.
voidλ‘ μ μΈλ λ©μλμμλ returnλ¬Έμ μ¬μ©ν μ μλ€. 리ν΄κ°μ μ§μ νλ κ²μ΄ μλλΌ
λ©μλ μ€νμ κ°μ λ‘ μ’
λ£μν€λ μν μ΄λ€.
return;
return (null): nullλ‘ returnνλ€.
submitμ νμ§ λͺ»νκ³ nullμ λ°ννλ€. ν΄λΉ return μλλ₯Ό μ λΆ μ€ννμ§ μκ³ return μ€μμ ν΄λμ€λ₯Ό λλ΄λ²λ¦°λ€.
return true: submit νκΈ° μ μ ν¨μμμ μ ν¨μ± κ²μ¬λ₯Ό νκ³ ν΅κ³Όκ° λλ©΄ true(=submit true)λ‘ λ¦¬ν΄νλ€λ λ»μ΄λ€.
return false: κ°μ΄ λ€μ΄κ° μμ§ μμΌλ©΄ submitμ νμ§ μκ³ fasleλ‘ λ¦¬ν΄νλ€λ λ»(return nullκ³Ό μμ£Ό μ‘°κΈ μ°¨μ΄κ° μλ€.)μ΄λ€.
μ°Έκ³ : https://diaryofgreen.tistory.com/80
μμ 1) returnλ¬Έ
public class Car {
//νλ
int gas;
//μμ±μ
//λ©μλ
void setGas(int gas) {
this.gas = gas; //리ν΄κ°μ΄ μλ λ©μλλ‘ λ§€κ°κ°μ λ°μμ gas νλκ°μ λ³κ²½
}
//리ν΄κ°μ΄ booleanμΈ λ©μλλ‘ gasνλκ°μ΄ 0μ΄λ©΄ falseλ₯Ό, 0μ΄ μλλ©΄ trueλ₯Ό 리ν΄
boolean isLeftGas() {
if(gas == 0) {
System.out.println("gasκ° μμ΅λλ€.");
return false; //falseλ₯Ό 리ν΄
}
System.out.println("gasκ° μμ΅λλ€.");
return true; //trueλ₯Ό 리ν΄
}
//리ν΄κ°μ΄ μλ λ©μλλ‘ gas νλκ°μ΄ 0μ΄λ©΄ returnλ¬ΈμΌλ‘ λ©μλλ₯Ό κ°μ μ’
λ£
void run() {
while(true) {
if(gas > 0) {
System.out.println("λ¬λ¦½λλ€.(gasμλ:" + gas + ")");
gas -= 1;
}else {
System.out.println("λ©μΆ₯λλ€.(gasμλ:" + gas + ")");
return;
}
}
}
}
μμ 2) returnλ¬Έ
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car();
//Carμ setGas λ©μλ νΈμΆ
myCar.setGas(5);
//isLeftGasλ©μλ νΈμΆ
boolean gasState = myCar.isLeftGas();
if(gasState){
System.out.println("μΆλ°ν©λλ€.");
myCar.run(); //Carμ run() λ©μλ νΈμΆ
}
//Carμ isLeftGas() λ©μλ νΈμΆ
if(myCar.isLeftGas()) {
System.out.println("gasλ₯Ό μ£Όμ
ν νμκ° μμ΅λλ€.");
}else {
System.out.println("gasλ₯Ό μ£Όμ
νμΈμ.");
}
}
}
κ²°κ³Ό)
gasκ° μμ΅λλ€.
μΆλ°ν©λλ€.
λ¬λ¦½λλ€.(gasμλ:5)
λ¬λ¦½λλ€.(gasμλ:4)
λ¬λ¦½λλ€.(gasμλ:3)
λ¬λ¦½λλ€.(gasμλ:2)
λ¬λ¦½λλ€.(gasμλ:1)
λ©μΆ₯λλ€.(gasμλ:0)
gasκ° μμ΅λλ€.
gasλ₯Ό μ£Όμ
νμΈμ.
6.4.3 λ©μλ νΈμΆ p. 258
λ©μλλ ν΄λμ€ λ΄, μΈλΆμ νΈμΆμ μν΄ μ€νλλ€.
- ν΄λμ€ λ΄λΆ: λ¨μν λ©μλ μ΄λ¦μΌλ‘ νΈμΆ
- ν΄λμ€ μΈλΆ: ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ€ μ°Έμ‘° λ³μλ₯Ό μ΄μ©ν΄μ λ©μλλ₯Ό νΈμΆνλ€. (κ°μ²΄κ° μ‘΄μ¬ν΄μΌ λ©μλλ μ‘΄μ¬νλ―λ‘)
//μΈλΆ
void μΈλΆλ©μλ(){
Car car = new Car();
car.run();
car.stop();
car.sound();
}
1) κ°μ²΄ λ΄λΆμμ νΈμΆ
λ©μλλ₯Ό μ€ννλ €λ©΄ 'λ©μλ μ΄λ¦(맀κ°κ°, ...)' ννλ‘ νΈμΆν΄μΌ νλ€.
μμ ) ν΄λμ€ λ΄λΆμμ λ©μλ νΈμΆ
public class Calculator {
//λ©μλ μ μΈ
//리ν΄νμ
λ©μλλͺ
([νμ
맀κ°λ³μ])
int plus(int x, int y) {
int result = x + y;
return result;
}
double avg(int x, int y) {
double sum = plus(x, y);//plusλ©μλ νΈμΆ
double result = sum / 2;
return result;
}
void execute() {
double result = avg(7, 10);//avgλ©μλ νΈμΆ
println("μ€νκ²°κ³Ό: " + result);//printlnλ©μλ νΈμΆ
}
void println(String message) {
System.out.println(message);
}
}
μμ ) Calculatorμ execute() μ€ν
public class CalculatorExample {
public static void main(String[] args) {
Calculator myCalc = new Calculator();
//Calculator ν΄λμ€μ powerOn λ©μλ νΈμΆ
myCalc.powerOn();
//Calculator ν΄λμ€μ plus λ©μλ νΈμΆ
int result1 = myCalc.plus(5, 6);
System.out.println(result1);
byte x = 10;
byte y = 4;
//Calculator ν΄λμ€μ divide λ©μλ νΈμΆ
double result2 = myCalc.divide(x, y);
System.out.print(result2);
//Calculator ν΄λμ€μ powerOff λ©μλ νΈμΆ
myCalc.powerOff();
}
}
2) κ°μ²΄ μΈλΆμμ νΈμΆ
μΈλΆ ν΄λμ€μμ λ©μλλ₯Ό νΈμΆνλ €λ©΄ ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν΄μΌ νλ€.
λ©μλλ κ°μ²΄μ μμλ λ©€λ²μ΄λ―λ‘ κ°μ²΄κ° μ‘΄μ¬νμ§ μμΌλ©΄ λ©μλλ μ‘΄μ¬νμ§ μκΈ° λλ¬Έμ΄λ€.
ν΄λμ€ μ°Έμ‘° λ³μ = new ν΄λμ€(맀κ°κ°, ...);
λνΈ μ°μ°μλ κ°μ²΄ μ κ·Ό μ°μ°μλ‘ κ°μ²΄κ° κ°μ§κ³ μλ νλλ λ©μλμ μ κ·Όν λ μ¬μ©λλ€.
μ°Έμ‘°λ³μ.λ©μλ(맀κ°κ°, ...); //리ν΄κ°μ΄ μκ±°λ, μμ΄λ 리ν΄κ°μ λ°μ§ μμ κ²½μ°
νμ
λ³μ = μ°Έμ‘°λ³μ.λ©μλ(맀κ°κ°, ...); //리ν΄κ°μ΄ μκ³ , 리ν΄κ°μ λ°κ³ μΆμ κ²½μ°
μμ 1) ν΄λμ€ μΈλΆμμ λ©μλ νΈμΆ
public class Car2 {
//νλ
int speed;
//μμ±μ
//λ©μλ
int getSpeed() {
return speed;
}
void keyTurnOn() {
System.out.println("ν€λ₯Ό λ립λλ€.");
}
void run() {
for(int i=0; i<=50; i+=10) {
speed = i;
System.out.println("λ¬λ¦½λλ€.(μμ: "+speed+"km/h)");
}
}
}
μμ 2) ν΄λμ€ μΈλΆμμ λ©μλ νΈμΆ
public class Car2Example {
public static void main(String[] args) {
//λ©μλ νΈμΆ
Car2 myCar = new Car2();
myCar.keyTurnOn();
myCar.run();
int speed = myCar.getSpeed();
System.out.println("νμ¬ μλ: "+speed+"km/h");
}
}
κ²°κ³Ό)
ν€λ₯Ό λ립λλ€.
λ¬λ¦½λλ€.(μμ: 0km/h)
λ¬λ¦½λλ€.(μμ: 10km/h)
λ¬λ¦½λλ€.(μμ: 20km/h)
λ¬λ¦½λλ€.(μμ: 30km/h)
λ¬λ¦½λλ€.(μμ: 40km/h)
λ¬λ¦½λλ€.(μμ: 50km/h)
νμ¬ μλ: 50km/h
6.4.4 λ©μλ μ€λ²λ‘λ© (Overloading) p. 263
λ©μλ μ€λ²λ‘λ©: ν΄λμ€ λ΄μ κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μΈνλ κ²
μ€λ²λ‘λ©: λ§μ΄ μ£λ κ²
νλμ λ©μλ μ΄λ¦μΌλ‘ μ¬λ¬ κΈ°λ₯μ λ΄λΉνλ€.
쑰건: λ§€κ° λ³μμ νμ
, κ°μ, μμ μ€ νλκ° λ¬λΌμΌ νλ€.
λ©μλ μ€λ²λ‘λ©μ΄ νμν μ΄μ λ 맀κ°κ°μ λ€μνκ² λ°μ μ²λ¦¬ν μ μλλ‘ νκΈ° μν΄μμ΄λ€.
λ§€κ° λ³μ νμ
μ΄ μΌμΉνμ§ μμ κ²½μ° μλ νμ
λ³νμ΄ κ°λ₯νμ§ κ²μ¬νλ€.
λ§€κ° λ³μμ νμ
, κ°μ, μμκ° λκ°μ κ²½μ° λ§€κ° λ³μ μ΄λ¦μ΄ λ€λ₯΄λ€κ³ ν΄μ λ©μλ μ€λ²λ‘λ©μ΄λΌκ³ νμ§ μλλ€.
λ©μλ μ€λ²λ‘λ©μ κ°μ₯ λνμ μΈ μλ System.out.println() λ©μλμ΄λ€. νΈμΆν λ μ£Όμ΄μ§ 맀κ°κ°μ νμ
μ λ°λΌμ λ€μκ³Ό κ°μ΄ μ€λ²λ‘λ©λ println() λ©μλ μ€ νλλ₯Ό νΈμΆνλ€.
void println(){...}
void println(boolean x){...}
void println(char x){...}
void println(char[] x){...}
void println(double x){...}
void println(float x){...}
void println(long x){...}
void println(Object x){...}
void println(String x){...}
μμ 1) λ©μλ μ€λ²λ‘λ©
μ΄λ€ λ©μλκ° νΈμΆλ κ²μΈμ§λ 맀κ°κ°μ λ³μμ λ¬λ €μλ€.
public class Calculator {
//μ μ¬κ°νμ λμ΄
double areaRectangle(double width) {
return width * width;
}
//μ§μ¬κ°νμ λμ΄
double areaRectangle(double width, double height) {
return width * height;
}
//μμ λμ΄
double areaRectangle(int r) {
return r * r * Math.PI;
}
}
μμ 2) λ©μλ μ€λ²λ‘λ©
public class CalculatorExample {
public static void main(String[] args) {
Calculator myCalcu = new Calculator();
//μ μ¬κ°νμ λμ΄ κ΅¬νκΈ°
double result1 = myCalcu.areaRectangle(10);
//μ§μ¬κ°νμ λμ΄ κ΅¬νκΈ°
double result2 = myCalcu.areaRectangle(10, 20);
//μμ λμ΄ κ΅¬νκΈ°
double result3 = myCalcu.areaRectangle(10);
//κ²°κ³Ό μΆλ ₯
System.out.println("μ μ¬κ°ν λμ΄=" + result1);
System.out.println("μ μ¬κ°ν λμ΄=" + result2);
System.out.println("μμ λμ΄=" + result3);
}
}
λ§λ¬΄λ¦¬ p. 267
6κ°μ§ ν€μλλ‘ λλ΄λ ν΅μ¬ ν¬μΈνΈ
1) μ μΈλΆ: λ©μλ μ μΈλΆλ λ¦¬ν΄ νμ
, λ©μλ μ΄λ¦, λ§€κ° λ³μ μ μΈ λΆλΆμ λ§νλ€.
2) void: 리ν΄κ°μ΄ μλ λ©μλλ λ¦¬ν΄ νμ
μΌλ‘ voidλ₯Ό κΈ°μ ν΄μΌ νλ€.
3) λ§€κ° λ³μ: λ©μλ νΈμΆ μ μ 곡λλ 맀κ°κ°μ λ©μλ μ μΈλΆμ λ§€κ° λ³μμ μ°¨λ‘λλ‘ λμ
λμ΄, λ©μλ λΈλ‘ μ€ν μ μ΄μ©λλ€.
4) 리ν΄λ¬Έ: λ©μλ μ μΈλΆμ λ¦¬ν΄ νμ
μ΄ μλ€λ©΄ 리ν΄κ°μ μ§μ νκΈ° μν΄ returnλ¬Έμ΄ λ°λμ μμ΄μΌ νλ€. λ¦¬ν΄ νμ
μ΄ voidλΌλ©΄ returnλ¬Έμ νμ μμ§λ§, λ©μλ μ€ν μ’
λ£λ₯Ό μν΄ μ¬μ©ν μ μλ€.
5) νΈμΆ: λ©μλλ₯Ό μ€ννλ €λ©΄ 'λ©μλ μ΄λ¦(맀κ°κ°, ...)' ννλ‘ νΈμΆν΄μΌ νλ€.
6) μ€λ²λ‘λ©: ν΄λμ€ λ΄μ κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μΈνλ κ²
쑰건μ λ§€κ° λ³μμ νμ
, κ°μ, μμ μ€ νλκ° λ¬λΌμΌ νλ€.
Q3
μμ ) MemberService.java
public class MemberService {
//μμ±
//MemberService ν΄λμ€
//login λ©μλ μ μΈ
//id, password μ 곡
boolean login(String id, String password) {
//id = "hong", password = "12345" true 리ν΄
if(id.equals("hong")&&password.equals("12345")) {
return true;
}else { //κ·Έ μΈ false 리ν΄
return false;
}
}
//logout λ©μλ μ μΈ
//id μ 곡
void logout(String id) {//"λ‘κ·Έμμ λμμ΅λλ€." μΆλ ₯
System.out.println("λ‘κ·Έμμ λμμ΅λλ€.");
}
}
μμ ) MemberServiceExample.java
public class MemberServiceExample {
public static void main(String[] args) {
MemberService memberService = new MemberService();
boolean result = memberService.login("hong", "12345");
if(result) {
System.out.println("λ‘κ·ΈμΈ λμμ΅λλ€.");
memberService.logout("hong");
}else {
System.out.println("id λλ passwordκ° μ¬λ°λ₯΄μ§ μμ΅λλ€.");
}
}
}
κ²°κ³Ό)
λ‘κ·ΈμΈ λμμ΅λλ€.
λ‘κ·Έμμ λμμ΅λλ€.
Q4)
μμ ) Printer.java
public class Printer {
//μμ± μμΉ
static void println(int value) {
System.out.println(value);
}
static void println(boolean value) {
System.out.println(value);
}
static void println(double value) {
System.out.println(value);
}
static void println(String value) {
System.out.println(value);
}
}
μμ ) PrinterExample.java
public class PrinterExample {
public static void main(String[] args) {
Printer printer = new Printer();
printer.println(10);
printer.println(true);
printer.println(5.7);
printer.println("νκΈΈλ");
}
}
κ²°κ³Ό)
10
true
5.7
νκΈΈλ