20240802 개발공부
값 비교와 생성자
자바 작업공간?
메서드 스택 힙
이렇게 3공간으로 구성되어있다.
a == b / a.eqauls(b) 의 차이
a == b 는 스택에서 값을 비교한다. = 그냥 값 뿐만 아니라 주소값도 같은지 확인!
eqauls 는 논리적으로 같은지 비교한다. = 주소가 달라도 값은 같아? 그럼 같다!
생성자.
Class 와 동일한 이름으로 생겼고,
이름도 똑같게 만든다.
ex.
public Class Car(){
public Car() {} // 이런 형태를 기본 생성자 라고 부른다. = 입력값 없음
}
의 형태로 쓰이며 앞에 Car 와 new 뒤에 Car 는 클래스 이름을 그대로 사용한 것.
() 안에 값은 생성시 필수로 들어가야 할 값을 설정할 수 있고,
{} 안에 값은 생성시 발생하는 일에 대해서 설정할 수 있다.
ex.
public Class Car(){
public Car(int number) {
carnumber = number;
}
}
Car를 생성할 때, number를 필수로 받고,
받은 number를 carnumber로 적용시켜준다.
이렇게 생성자를 정의한다.
객체 생성하는법!
Car a = new Car(1);
이라고 입력해서 생성하면
이름이 a 이고, carnumber 가 1인
Car 객체가 생성된다.
이렇게 생성된 객체는 해당 객체의 정보를 지정해서 작업할 수 있는데
그럴 땐,
객체이름.메서드
이런 식으로 적용시켜주면 된다.
ex.
a.good(1)
= a라는 객체에 good 이라는 메서드 필수값(매개변수?) 자리에 1이라는 값을 입력해서 적용시켰다.