package constructor;
public class Car {
String model; // this.model임
int speed;
//생성자
Car(String model){
this.model = model; // model은 매개변수
// Car 클래스 형태를 가진 model과 클래스안에 model 과 구분짓기위해
}
void setSpeed(int speed) {
this.speed = speed;
}
void run() {
for (int i = 10 ; i <= 50 ; i = i + 10) {
//this.setSpeed(i);
setSpeed(i);
System.out.println(this.model + "가 달립니다. (시속 : "
+ this.speed + "km/h)");
}
}
}
package constructor;
public class CarExample {
public static void main(String[] args) {
Car car = new Car("포르쉐");
// 생성자가 있으면 반드시 그 양식에 맞게 매개변수 넣어야 함
car.run();
}
}
저번 시간에 이어서 이번엔 함수 만드는 방법에 대해서 알아봅시다
클래스에 변수도 들어갈 수 있지만 함수도 들어갈 수 있습니다.
함수는 원래 있던 걸 써도 되지만 자기가 만들어서 사용도 가능합니다.
void setSpeed(int speed) {
this.speed = speed;
}
함수를 만들 때는 위나 아래쪽에 한쪽에 몰아서 써주세요
void(반환타입) setSpeed(메소드명) int speed (매개변수)
반환타입에는 void, int , long.. 다양하게 선언이 가능합니다.
반환타입이 무엇이냐면 이 메소드를 실행 시켰을 때 결과 값을 주는 겁니다. void는 아무것도 반환해주지 않고요
예를들어서 정수를 더하는 함수를 제가 만들어보겠습니다.
int sum (int A , int B){
int total = A + B;
return total;
}
------------------------------------------------------------
System.out.print(sum(3,4));
int hab = sum(3,4);
System.out.println(hab);
이런식으로 A와 B를 받아서 더하고 그걸 반환하는 함수를 만들겠습니다.
return 하는 값과 함수선언시 반환타입은 동일해야합니다.
합친 값을 줘서 그걸 출력해야하기 때문에
1.
System.out.print(sum(3,4));
반환값을 그냥 출력해버리기
2.
int hab = sum(3,4);
System.out.println(hab);
hab이라는 int형에 담아서(return값과 동일해야함) 출력해버리기
이러한 거 때문에 return값이 필요합니다. 모든 자료형을 쓸 수 있기 때문에 필요할 때 적재적소로 활용하면 됩니다.
메소드명은 자기가 짓고 싶은대로 지으면 되고
매개변수를 뭐로 받을지에 대한 인자값도 자기가 원하는 만큼 설정해주시면 됩니다.
다시 돌아와서
void run() {
for (int i = 10 ; i <= 50 ; i = i + 10) {
//this.setSpeed(i);
setSpeed(i);
System.out.println(this.model + "가 달립니다. (시속 : "+ this.speed + "km/h)");
}
}
만들어둔 setSpeed 함수를 이용해서 속도를 설정해주고 그것을 출력하고 반복문으로 50까지 올라가도록 합니다.
그리고 메인 클래스에서 car.run()으로 실행해줍니다.
함수도 접근법은 동일합니다.
https://github.com/SungJLee/My_Java_World.git
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 Class(클래스) 상속(extends)[추상화] (0) | 2021.07.02 |
---|---|
[Java] 자바 Class(클래스) 클래스 특징 (Setter Getter, 캡슐화, 은닉, public vs private) (0) | 2021.07.02 |
[Java] 자바 클래스(Class) 생성자 (0) | 2021.07.02 |
[Java] 자바 클래스(Class) (0) | 2021.07.02 |
[Java] 자바 전역변수 지역변수 (0) | 2021.07.02 |