4장 객체지향 프로그래밍
클래스 선언과 객체 생성
클래스이름 변수;
이때 클래스 이름은 변수의 타입, 클래스는 참조타입이므로, 참조 변수, 또는 참조 타입 변수라고 한다.
new 연산자를 이용해서 객체를 생성하고 반환된 주소를 참조 변수에 집어넣음
package chap04;
class Phone {
String model; // default 값 : null
int value; // default 값 : 0
void print() {
System.out.println(value + "만원짜리 " + model + "스마트폰");
}
}
public class PhoneDemo {
public static void main(String[] args) {
Phone myPhone = new Phone();
myPhone.model = "갤럭시 S8";
myPhone.value = 100;
myPhone.print();
Phone yourPhone = new Phone();
// yourPhone.model = "G6";
// yourPhone.value = 85;
yourPhone.print();
}
}
-필드와 지역변수의 차이
- 클래스의 필드는 선언하면 명시적으로 초기화되고, 초기화 안하면 기본값으로 초기화됨.
- 필드는 기본값이 있지만, 지역변수는 기본값이 없어, 반드시 초기화를 해야함.
- 필드는 클래스 전체에서 사용할 수 있지만, 지역변수는 선언된 블록 내부의 선언된 후에서만 사용가능
- 필드와 달리 지역 변수는 final 로만 지정가능
call by reference
- call by reference 는 매개변수의 원래 주소에 값을 저장하는 방식이다.
- 자바에서는 클래스 객체를 인수로 전달한 경우에 call by reference로 처리한다.
- 메소드에 클래스 객체를 전달하면, 객체가 복사되어 전달되는게 아니라, 참조변수의 값이 복사되어 전달된다.
== 과 equals
- ==는 연산자.
모든 타입에 대해 쓸 수 있고, 리턴은 boolean
모든 기본 타입에 대해 쓸 수 있음(int,char, String 등)
완전히 같은 애들끼리는 같다고 함(주소가 같아야 해) - .equals()는 메소드.
String타입에 대해서 정의됨. return은 boolean
내용만 같으면, 주소가 달라도 괜찮!
'TIL > [객체지향 프로그래밍] TIL' 카테고리의 다른 글
TIL (22.05.16) (0) | 2022.05.16 |
---|---|
TIL (22.04.28) (0) | 2022.04.29 |
TIL (22.04.17) 시험범위 정리 3장 (0) | 2022.04.17 |
TIL (22.04.14) (0) | 2022.04.17 |
TIL (22.04.16) 시험범위 정리 2장 (0) | 2022.04.16 |