1학년/자바 공부
3일차_클래스의구성,생성자,메소드
즈_말
2022. 7. 6. 09:52
클래스의 구성
: 생성자와 메소드와 필드를 가진다.
class Car {
private String modelName;
private int modelYear;
private String color;
private int maxSpeed;
private int currentSpeed;
Car(String modelName, int modelYear,Stirng color, int maxspeed){
this.modelNAme = modelName;
this.modelYear = modelYear;
this.color = color;
this.maxSpeed = maxSpeed;
this.currentSpeed = 0;
}
public String getMOdel() {
return this.modelYear + "년식 " + this.modelName + " " + this.color;
}
}
public class Methos02{
public static void main(String[] args) {
Car mycar = new Car("아반떼",2022,"흰색",200);
System.out.printlin(myCar.getModel());
}
}
생성자
: 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화 할 수 있는 생성자라는 메소드 있따.
자바에서 생성자의 이름 = 클래스의 이름
car 클래스의 생성자 이름은 car가 된다
- 생성자는 반환값 없지만 void형으로 선언하지는 않는다
- 초기화를 위한 데이터를 인수로 전달받을 수 있다.
- 객체를 초기화 하는 방법이 여러 개 존재할 경우 하나의 클래스가 여러 개의 생성자를 가질 수 있다.
Car(String modelName){}
Car(String modelName , int modelYear){}
Car(String modelName, int modelYeaer, String color, int maxSpeed){}
생성자 선언
:
1. 클래스 이름(){ ... }
2. 클래스 이름(인수1, 인수2, 인수3, ... ){...}
예제이다
Car(String modelName, int modelYear, String color, int maxSpeed){
this.modelName = modelName;
this.modelYear = modelyear;
this.color = color;
this.maxspeed = maxSpeed;
this.currentSpeed = 0;
}
참고로 어떠한 반환값도 명시하지 않는다.
생성자 호출
:new 키워드를 사용하여 객체를 생성할 때 자동으로 생성자가 호출된다.
class Car {
private String
기타 생성자
메소드
: 어떤 특정 작업을 수행하기 위한 명령문의 집합.
중복되는 코드의 반복적인 프로그래밍 피할 수 있다.
모듈화로 인해 전체적인 코드의 가독성이 좋아진다.
유지보수가 쉽다!
접근제어자 반환타입 메소드이름(매개변수목록) {
}
- 접근 제어자 : 해당 메소드에 접근할 수 있는 범위 명시
- 반환 타입 : 메소드가 전체 작업을 마치고 반환하는 데이터의 타입
- 메소드 이름: 메소드를 호출하기 위한 이름 명시
- 매개변수 목록 : 메소드 호출 시 전달되는 인수의 값 저장
- 안쪽에 명령 구현하면 됨.
다음 예제는 car 클래스의 acceletrate()메소드를 정의하는 예제이다.
class Car{
private int currentSpeed;
private int accelerationTIme;
...
public void accelerate( int speed, int second){
System.out.println(second + " 초간 속도를 시속 " + speed + "(으)로 가속함");
}
...
}
메소드 호출
: .닷 을 사용하여 호출할 수 있다.
1. 객체참조변수이름.메소드이름();
2. 객체참조변수이름.메소드이름(인수1,인수2,...);
예제이다
Class Car{
private int currentSpeed;
private int accelerationTime;
public void accelerate( int speed, int second){
System.out.println(second + " 초간 속도를 시속 " + speed + "(으)로 가속함");
}
}
public class Method01{
public static void main(String[] args){
Car myCar = new Car(); //객체 생성
myCar.accelerate(60,3);
}
}
728x90