카테고리 없음

20240802 개발공부

llmmhh 2024. 8. 2. 20:57

값 비교와 생성자

 

자바 작업공간?

메서드 스택 힙

이렇게 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이라는 값을 입력해서 적용시켰다.