hhnn_soph
[Java] ν΄λμ€ κ΅¬μ± μμ(λ©μλ) λ³Έλ¬Έ
π λ©μλ(Method)
- κ°μ²΄μ λμμ ν΄λΉνλ μ€ν λΈλ‘
- λ©μλκ° νΈμΆλλ©΄ { } λΈλ‘ μμ μλ λͺ¨λ μ½λλ€μ΄ μΌκ΄μ μΌλ‘ μ€νλ¨
- μΈλΆλ‘λΆν° λ§€κ° κ°μ λ°μ μλ μκ³ , μ€ν ν μ΄λ€ κ°μ 리ν΄ν μλ μμ
- μν : νλλ₯Ό μ½κ³ μμ , λ€λ₯Έ κ°μ²΄ μμ±ν΄ λ€μν κΈ°λ₯ μν, κ°μ²΄ κ° λ°μ΄ν° μ λ¬ μλ¨
- μ μΈλΆ(λ¦¬ν΄ νμ , λ©μλλͺ , λ§€κ°λ³μ μ μΈ)μ { } μ€ν λΈλ‘μΌλ‘ ꡬμ±
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. λ¦¬ν΄ νμ
- λ©μλ μ€ν ν 리ν΄νλ κ°μ νμ
1) λ¦¬ν΄ κ°μλ κ²½μ°
// λ¦¬ν΄ νμ
void
void powerOn() { ... }
2) λ¦¬ν΄ κ°μλ κ²½μ°
// λ¦¬ν΄ νμ
int String double ...
double divide(int x, int y){ ... }
2. λ©μλ μ΄λ¦
- μλ° μλ³μ κ·μΉμ λ§κ² μμ±
- κ΄λ‘μ μΌλ‘ μλ¬Έμλ‘ μμ±. λ€λ₯Έ λ¨μ΄ νΌν©ν κ²½μ° νΌν© λ¨μ΄ 첫 κΈμλ λλ¬Έμλ‘ μμ±
- λ©μλκ° μ΄λ€ κΈ°λ₯μ μννλμ§ μ½κ² μ μ μλλ‘ μλͺ
void run() { ... } void startEngine() { ... } String getName() { ... } int[] getScores() { ... } |
3. λ§€κ° λ³μ μ μΈ
- λ§€κ° κ°μ λ°λμ λ§€κ° λ³μ κ°μμ νμ μ λΆν©λλ κ° μμ±
double divide(int x, int y){ ... }
double result = divide(10, 20);
// λ§€κ° λ³μ νμ
μ΄ intμ΄λ―λ‘ 10, 20 μμ±.
// 10.0 νΉμ 20.0 μμ±νλ©΄ μ»΄νμΌ μ€λ₯ λ°μ
- λ§€κ° λ³μ κ°μλ₯Ό λͺ¨λ₯Ό λ
1) λ°°μ΄ νμ μΌλ‘ μ μΈ: λ©μλλ₯Ό νΈμΆν λ λ°°μ΄ νλͺ© μ κ²°μ
// sum1 λ©μλ
int sum1(int[] valuses) { }
// λ°°μ΄ μ λ¬ λ°©λ²
int[] values = {1, 2, 3};
int result = sum1(values);
inr result = sum1(new int[] {1, 2, 3, 4, 5});
2) " . . . " μ¬μ©ν΄ μ μΈ: λκ²¨μ€ κ° μμ λ°λΌ μλμΌλ‘ λ°°μ΄ μμ±
// sum2 λ©μλ
int sum2(int ... valuses) { }
// λ°°μ΄ μ λ¬ λ°©λ²
int result = sum2(1, 2, 3);
inr result = sum2(1, 2, 3, 4, 5);
π 리ν΄(return) λ¬Έ
1. λ¦¬ν΄ κ°μ΄ μλ λ©μλ
- λ°λμ returnλ¬Έ μμ±. μμΌλ©΄ μ»΄νμΌ μ€λ₯
- returnλ¬Έ μ€ν μ λ©μλ μ¦μ μ’ λ£
- returnλ¬Έ μ΄ν μ€νλ¬Έ μ€λ©΄ 'Unreachable code' μ»΄νμΌ μ€λ₯ λ°μ
public class Calculator {
int plus(int x, int y) {
int result = x + y;
return result; // return 리ν΄κ°;
}
}
2. λ¦¬ν΄ κ°μ΄ μλ λ©μλ(void)
- 보ν΅μ returnλ¬Έ μ¬μ©νμ§ μμ
- νμ§λ§ λ©μλ κ°μ μ’ λ£ μν΄ return; μ¬μ© κ°λ₯(break λ¬ΈμΌλ‘ λ체 κ°λ₯)
void run(){
while(true){
if(gas>0) {
gas -= 1;
} else {
return; // run() λ©μλ μ€ν μ’
λ£
}
}
}
π λ©μλ νΈμΆ
- νν: λ©μλλͺ (λ§€κ° κ°,.. );
- λ¦¬ν΄ κ°μλ κ²½μ°
// μ μλ§ ν€κ³ λμ΄κΈ° λλ¬Έμ λ³μ μ μΈ νμ μμ
powerOn();
- λ¦¬ν΄ κ°μλ κ²½μ°
// 1. 리ν΄κ°μ΄ μκΈ° λλ¬Έμ μ μ₯ν 리ν΄νμ
λ³μ μ μΈ
double result = divide(10, 20);
// 2. 리ν΄κ°λ³΄λ€ λ©μλ μ€νμ΄ μ€μν κ²½μ° λ³μ μ μΈμμ΄ νΈμΆ
divide(10, 20);
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 λ©μλ νΈμΆ, int>double μλνλ³νμΌλ‘ λμ
κ°λ₯
double result = sum / 2;
return result;
}
void execute(){
double result = avg(7, 10); // avg λ©μλ νΈμΆ
println("μ€νκ²°κ³Ό: " + result); // print λ©μλ νΈμΆ
}
void print(String msg) {
System.out.println(msg)
}
}
2. κ°μ²΄ μΈλΆμμ νΈμΆ
- ν΄λμ€μ κ°μ²΄λ₯Ό μμ±νκ³ , μ°Έμ‘° λ³μ + λνΈ μ°μ°μ + λ©μλ μ΄λ¦(λ§€κ° κ°) ννλ‘ νΈμΆ
public class CalculatorExample {
public static void main(String[] args){
Calculator myCalc = new Calculator();
myCalc.powerOn(); // λ¨μνΈμΆ
int result1 = myCalc.plus(5, 6); // 리ν΄κ° λ°μ λ³μμ μ μ₯
System.out.println("λνκΈ°: " + result1);
byte x = 10;
byte y = 4;
double result2 = myCalc.divide(x, y);
System.out.println("λλκΈ°: " + result2);
myCalc.powerOff();
}
}
π λ©μλ μ€λ² λ‘λ©
- ν΄λμ€ λ΄ κ°μ μ΄λ¦ λ©μλ μ¬λ¬ κ° μ μΈνλ κ²
- λ§€κ°λ³μμ νμ , κ°μ, μμ μ€ νλκ° λ¬λΌμΌ ν¨
- μ€λ² λ‘λ©μ΄ μλ κ²½μ°
: λ§€κ°λ³μμ νμ , κ°μ, μμκ° λͺ¨λ κ°κ³ λ§€κ°λ³μλͺ λ§ λ°κΎΈλ κ²½μ°
: λ¦¬ν΄ νμ λ§ λ€λ₯΄κ³ λ§€κ°λ³μκ° λμΌν κ²½μ°
- JVMμ΄ λ§€κ° κ°μ νμ μ λ³΄κ³ λ©μλ μ ν > νμ μ΄ μΌμΉνμ§ μλ κ²½μ°, μλ νμ λ³ν κ°λ₯ μ¬λΆ νμΈ
// μ€λ²λ‘λ©
int plus(int x, int y) {...}
double plus(double x, double y) {...}
// plus(10, 20.3)μΈ κ²½μ° plus(double x, double y) λ©μλ μ€ν
// μ€λ²λ‘λ© μλ κ²½μ°
int divide(int x, int y) {...}
double divide(int boonja, int boonmo) {...}
'Language > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] ν΄λμ€ κ΅¬μ± μμ(νλ λ° μμ±μ) (0) | 2021.09.13 |
---|---|
[Java] μλ° ν΄λμ€ μ μΈ λ° κ°μ²΄ μμ± (0) | 2021.09.13 |
[Java] μλ° κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄λ? (0) | 2021.09.13 |