[클래스]
공통요소로 묶자!
class 클래스명{
필드 ( 변수, 메서드)
}
[클래스 사용]
클래스명 객체명 = new 클래스명();
객체명.필드;
.(마침표) : 하위 연산자
A.b : A 안에 b
package day12;
public class Car {
int price;
String color;
String brand;
double speedUp(double speed){
speed++;
return speed;
}
double speedDown(double speed){
speed--;
return speed;
}
void showInfo() {
System.out.println("브랜드 : "+brand+ "\n색상: "+color+ "\n가격: " +price+ "만원");
}
public static void main(String[] args) {
Car momCar = new Car();
Car daddyCar = new Car();
Car myCar = new Car();
momCar.brand="Benz";
momCar.color="Black";
momCar.price=9000;
momCar.showInfo();
System.out.println(momCar);
}
}
브랜드 : Benz
색상: Black
가격: 9000만원
day12.Car@5e91993f
momCar 라는 저장공간에는 주소값이 들어가있다
void showInfo() {
System.out.println("브랜드 : "+brand+ "\n색상: "+color+ "\n가격: " +price+ "만원");
}
momCar.showInfo(); 를 했는데 showInfo에서 어떻게 엄마차인지 알 수 있는걸까?
Car라는 클래스는 하나밖에 없다
하나밖에 없지만 생성자에 의해 여러 공간이 만들어져 있다
클래스 구분점은 그 객체의 주소로 가진다
void showInfo() {
System.out.println(this);
System.out.println("브랜드 : "+brand+ "\n색상: "+color+ "\n가격: " +price+ "만원");
}
System.out.println(momCar);
day12.Car@5e91993f
this와 momCar는 같은 주소값이 나온다
this가 객체의 주소값을 받는다
"브랜드 : "+this.brand+ "\n색상: "+this.color+ "\n가격: " +this.price+ "만원"
앞에 this가 생략되어 있는 것이다 그 주소안에 있는 brand 그 주소안에 있는 color
daddyCar.showInfo();
아무값을 넣지 않고 출력하기
day12.Car@1c4af82c
브랜드 : null
색상: null
가격: 0만원
728x90
'Dev. > java' 카테고리의 다른 글
Java :: 접근 권한 제어자 (0) | 2022.05.23 |
---|---|
Java :: Class(생성자) (0) | 2022.05.23 |
Java 메서드 2 (0) | 2022.05.22 |
Java 2차원 배열로 매장별 매출 구하기 (0) | 2022.05.21 |
Java 배열 (0) | 2022.05.21 |
댓글