자바 함수
함수
입력값을 집어넣으면 출력값을 도출해내는 상자박스
접근제어자 리턴타입 함수명(파라미터) {body}
return
: (반환값)
public int sum(int x, int y) {
return x + y;
}
범위 (Scope)
전역변수
JVM 또는 클래스가 없어지면 소멸한다.
클래스 내 어디서든 접근 가능하다.
public class Person {
private int age; // 전역변수
}
지역변수
메소드 실행이 종료되면 소멸한다.
public class Person {
private int age;
public String getName() {
String name = "cat"; // 지역변수
return name;
}
}
Call by Value
파라미터를 Primitive Type으로 설정한 경우 전역변수의 값이 바뀌지 않는다.
public void callByValue(int number) {
number = 2;
}
int number = 1;
callByValue(number);
// 결과 1
System.out.println(number);
Call by Reference
파라미터를 Reference Type으로 설정한 경우 전역변수의 값이 바뀐다.
public void callByReference(int numbers[]) {
numbers[0] = 3;
}
int numbers[] = {1, 2, 3};
// 결과 3, 2, 3
System.out.println(numbers);
오버라이드 (Override)
부모로 부터 상속받은 함수를 자식에서 재정의하는 것
class Parent {
public int sum(int x, int y) {
return x + y;
}
}
class Child extends Parent {
@Override
public int sum(int x, int y) {
return x + y + 10;
}
}
오버로드 (Overload)
같은 함수명으로 작성했지만 매개변수나 리턴 값이 다름
public void print() {
System.out.println("프린트");
}
public boolean print() {
System.out.println("프린트");
return true;
}
public void print(String name) {
System.out.println("이름 : " + name);
}
댓글남기기