1. 함수 (Function)
함수는 기능을 미리 정의해두고 나중에 가져다가 쓰는 것인데 함수, 메서드를 사용하는 이유는 나중에 재사용 할 가능성이 있는 기능들을 함수로 만들어두면 작업의 반복을 줄일 수 있다.
미리 정의된 함수 이름 뒤에 ( ) 를 붙여 해당 함수를 호출할 수 있다.
함수를 정의한 시점에는 실행되지 않고 나중에 호출되었을 때 실행이 된다.
(변수를 선언만 하고 초기화를 안하는 것하고 비슷함)
자바에서 함수는 반드시 클래스 내부에 선언(정의) 해야 하고, 다른 함수 내부에서는 정의할 수 없다. 클래스 내부에 선언된 함수는 메서드라고 부른다.
2. 함수의 리턴(return)
함수를 정의할 때 함수명 앞에 함수타입으로 반드시 반환하는 값의 타입을 지정한다.
여기서 함수명은 plus 인데 반환하는 값이 num (int 형) 이니까 함수명 앞에 타입을 int 로 지정을 하라는 말이다.
리턴 타입에 void를 적으면 해당 함수는 값을 반환하지 않는다는 것을 의미한다.
리턴이 되는 함수가 있고 리턴이 되지 않는 함수가 있는데
위에서 int형으로 반환을 하는 함수였고, 이것은 리턴이 되는 함수이다.
반면에,
void 함수는 리턴이 되지 않는 함수이다.
값을 반환하지 않겠다는 의미이다.
PrintRabbit() 을 main함수에서 호출하면 위의 토끼가 불러진다.
그런데 호출만 될 뿐 어디론가 가서 '값'으로써 기능은 할 수 없다.
그것은 void함수에서 값의 리턴이 없어, 반환받은 값이 없기 때문이다.
3. 함수의 매개변수 (argument)
함수를 호출할 때 ( ) 에 전달하는 값을 인자라고 하는데
함수를 정의할 때 ( ) 에 선언하는 인자값을 받을 수 있는 변수를 매개변수라고 한다.
인자와 매개변수는 보통 서로 정확한 구분이 없이 부르곤 하지만 배우는 입장에서 조금 깔끔하게 보면,
함수를 호출 할 때 i (핑크) 로 들어가는 값, 전달하는 값이 인자가 된다.
i는 for문을 지나 0부터 9까지 생성이 되고, 생성된 0부터 9까지 인자가 되어 printRabbit 함수를 총 9번 생성한다.
int num 의 자리는 0부터 9까지를 받을 수 있는데,
int num 은 변수이며 값을 전달받도록 '매개'하기 때문에 매개변수이다.
'매개' 한다는 것은 둘 이상의 것에서 관계를 맺어주는 것을 매개라고 표현하고 흔히 매개체에서 의미를 파악할 수 있다.
'Java (국비지원 당시 공부했던 글) > OOP (Java)' 카테고리의 다른 글
[자바] OOP - 5. 상속 (객체의 다형성과 캐스팅) (0) | 2022.05.30 |
---|---|
[자바] OOP - 4. 상속 (상속 개념과 super, 오버라이드) (0) | 2022.05.27 |
[자바] OOP - 3. static과 변수 선언위치, 생성시기 (0) | 2022.05.16 |
[자바] OOP - 2. 클래스의 생성자와 오버로딩 (0) | 2022.05.16 |
[자바] OOP - 1. 메서드와 클래스 (0) | 2022.05.04 |