1. 생성자 (Constructor)
- 생성자 : 사용할 클래스의 변수를 미리 초기화해준다.
- 매개변수, 구현부가 없다.
- this.(필드명) : Car 클래스 내의 필드
default 생성자 : 클래스에 생성자를 구현하지 않아도 new 키워드로 생성자를 호출할 수 있음.
- 클래스에 생성자가 하나도 없어도 컴파일러가 default 생성자 코드를 넣어준다.
- public Car(){ };
class Car{
public String color;
public int speed;
//default 생성자
public Car(){}
//생성자
Car(String color, int speed){
this.color = color;
this.speed = speed;
}
}
main에서 호출할 때
- 방법 1
public static void main(String[] args) {
Car myCar1 = new Car("빨강",0);
Car myCar2 = new Car("파랑",30);
}
- 방법 2
public static void main(String[] args) {
Car myCar1 = new Car();
Car myCar2 = new Car();
myCar1.color = "빨강";
myCar1.speed = 0;
myCar2.color = "파랑";
myCar2.speed = 30;
}
오버로딩(overloading) : 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것
(참고) 오버라이딩(overriding) : 부모클래스에서 정의한 메서드를 자식클래스에서 재정의 하는 것
2. 생성자 오버로딩
- 생성자의 매개변수를 다르게 설정
- 생성자를 호출할 때 여러 생성자 중 필요한 것을 호출해서 사용할 수 있음.
Car(){
}
Car(String color){
this.color = color;
}
Car(String color, int speed){
this.color = color;
this.speed = speed;
}
3. 메서드 오버로딩
- 같은 클래스 내에서 메서드의 이름이 같아도 파라미터의 개수나 데이터 형식만다르면 여러 개를 선언할 수 있는 것.
class Calc{
//double형 변수2개를 넣었을 때
void addValue(double v1,double v2) {
System.out.printf("double 값 계산 : %f ",(v1+v2));
}
//int형 변수2개를 넣었을 때
void addValue(int v1,int v2) { //int형 변수2개
System.out.println("int 값 계산 : "+ (v1+v2));
}
}
반응형
'JAVA & Spring > JAVA 이론' 카테고리의 다른 글
[JAVA] 추상 클래스 (abstract class) (0) | 2023.05.18 |
---|---|
[JAVA] 상속 (0) | 2023.05.17 |
[JAVA] static과 final (0) | 2023.05.17 |
[JAVA] 접근 제어 지시자( private, protected, default, public) / 정보은닉, 캡슐화 (0) | 2023.05.17 |
[JAVA] 인터페이스(interface) (0) | 2023.02.03 |