Java 문법 종합반 3주차
클래스는 실체가 아니라 설계도이다.
객체 생성 연산자인 ‘new’를 사용하여 클래스로부터 객체를 생성
클래스명 참조변수명 = new 생성자();
예) Car car = new Car();
객체의 속성 : 필드
객체의 데이터를 저장하는 역할
크게 고유 데이터, 상태 데이터, 객체 데이터로 분류
public class Car {
// 필드 영역
// 1) 고유 데이터 영역
String company; // 자동차 회사
String model; // 자동차 모델
String color; // 자동차 색상
double price; // 자동차 가격
// 2) 상태 데이터 영역
double speed; // 자동차 속도 , km/h
char gear; // 기어의 상태, P,R,N,D
boolean lights; // 자동차 조명의 상태
// 3) 객체 데이터 영역
Tire tire;
Door door;
Handle handle;
// 생성자 영역
// 생성자 : 처음 객체가 생성될 때(instance화) 어떤 로직을 수행해야 하며, 어떤 값이 필수로 들어와야 하는지 정의
public Car() {
} // 기본 생성자 : 생략이 가능
// 메서드 영역
// gasPedal
// input : kmh
// output : speed
double gasPedal(double kmh) {
speed = kmh;
return speed;
}
// brakePedal
// input : x
// output : speed
double brakePedal() {
speed = 0;
return speed;
}
// changeGear
// input : gear( char type )
// output: gear
char changeGear(char type) {
gear = type;
return gear;
}
// onOffLight
// input : x
// output : lights(boolean)
boolean onOffLights() {
lights = !lights;
return lights;
}
// horn
// input : x
// output : x
void horn() {
System.out.println("빵빵");
}
}
필드의 사용
외부 접근
Car car = new Car();
이렇게 객체를 생성했다면 참조변수 car를 이용하여 외부에서 객체 내부의 필드에 접근하여 사용
객체의 내부 필드에 접근하는 방법 ▶ 도트(.) 연산자를 사용
내부 접근
도트 연산자를 사용하여 외부에서 객체 내부에 접근할 수 있을 뿐만 아니라 객체 내부 메서드에서도 내부 필드에 접근할 수 있다.
double brakePedal() {
speed = 0;
return speed;
}
이처럼 brakePedal() 메서드 내부에서 객체의 필드 speed를 바로 호출해서 사용
package week03;
public class Main {
public static void main(String[] args) {
Car car = new Car(); // 객체 생성
// 초기값 기본 값 확인 : 초기값을 준 것은 그 값이 들어가고, 아닌 값은 default value가 set
System.out.println("car.model = " + car.model);
System.out.println("car.color = " + car.color);
System.out.println();
System.out.println("car.speed = " + car.speed);
System.out.println("car.gear = " + car.gear);
System.out.println("car.lights = " + car.lights);
System.out.println();
System.out.println("car.tire = " + car.tire);
System.out.println("car.door = " + car.door);
System.out.println();
// 필드 사용
car.color = "blue"; // 필드 color에 "blue" 데이터를 저장
car.speed = 100;
car.lights = false;
System.out.println("car.color = " + car.color);
System.out.println("car.speed = " + car.speed);
System.out.println("car.lights = " + car.lights);
}
}
매개변수
메서드를 호출할 때 메서드로 전달하려는 값을 받기 위해 사용되는 변수
double gasPedal(double kmh, char type) {
speed = kmh;
return speed;
}
gasPedal(double kmh, char type) 메서드의 매개변수는 double 타입의 kmh, char 타입의 type
매개변수에 값을 전달하기 위해서는 순서와 타입에 맞춰 값을 넣어주면 됨 ▶ gasPedal(100, 'D');
'TIL' 카테고리의 다른 글
| TIL 241016 (0) | 2024.10.16 |
|---|---|
| TIL 241015 (2) | 2024.10.15 |
| TIL 241011 (0) | 2024.10.11 |
| TIL 241010 (0) | 2024.10.10 |
| TIL 241008 (0) | 2024.10.08 |