일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 프로그래머스
- java기본자료형
- 비전공자sqld
- java map 저장
- java list 저장
- 코딩부트캠프후기
- java참조자료형
- 격파르타합격후기
- sqld자격증합격
- 격파르타장점
- java map 출력
- 격파르타비전공자
- java알고리즘문제풀이
- java list 출력
- java set 저장
- java map
- 컴파일
- 항해15기
- 작은수제거하기
- java 자료구조 활용
- 격파르타후기
- 프로그래머스제일작은수
- java알고리즘
- java set 출력
- 노베이스부트캠프
- 인터프린터언어
- javaJRE
- javaJVM
- 항해99후기
- java최솟값구하기
- Today
- Total
코딩과 결혼합니다
[Java 문법 종합반] 3주차 : 객체 생성과 참조형 변수, 필드 본문
객체 생성
객체 생성 연산자인 'new'를 사용하면 클래스로부터 객체를 생성할 수 있다.
new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성한다.
형태가 기본 생성자의 형태와 같기 때문에 new 연산자에 의해 객체가 생성되면서 기본 생성자가 호출된다.
참조형 변수
Car car2 = new Car(); // Car클래스의 객체인 car2 인스턴스 생성
new 연산자를 통해서 객체가 생성되면 해당 인스턴스의 주소가 반환되기 때문에 해당 클래스의 참조형 변수를 사용하여 받아줄 수 있다.
객체 배열
객체는 참조형 변수와 동일하게 취급되기 때문에 배열 또는 컬렉션에도 저장하여 관리할 수 있다.
Car car1 = new Car();
car1.changeGear('P');
carArray[0] =car1;
Car car2 = new Car();
car2.changeGear('N');
carArray[1] = car2;
Car car3= new Car();
car3.changeGear('D');
carArray[2] = car3;
for (Car car:carArray) {
System.out.println("car.gear = " + car.gear);
}
객체의 속성 : 필드
필드란?
필드 : 객체의 데이터를 저장하는 역할
- 크게 고유한 데이터(변하지 않는 데이터), 상태 데이터(변하는 데이터), 객체 데이터(하위 객체)로 분류할 수 있다.
- 소프트웨어의 부품 = 객체
부품 데이터와 나머지 고유한 데이터, 상태 데이터를 포함한 자동차 클래스
String company; // 자동차 회사
String model; // 자동차 모델
String color; // 자동차 색상
double price; // 자동차 가격
double speed; // 자동차 속도 , km/h
char gear; // 기어의 상태, P,R,N,D
boolean lights; // 자동차 조명의 상태
Tire tire;
Door door;
Handle handle;
public Car() {} // 기본 생성자
double gasPedal(double kmh) {
speed = kmh;
return speed;
}
double brakePedal() {
speed = 0;
return speed;
}
char changeGear(char type) {
gear = type;
return gear;
}
boolean onOffLights() {
lights = !lights;
return lights;
}
void horn() {
System.out.println("빵빵");
}
}
필드의 초기값과 초기화
우리가 정의하여 선언한 클래스의 필드들은 기본적으로 초기값을 제공하지 않을 경우 객체가 생성될 때 자동으로 기본값으로 초기화 된다.
초기값 제공 방법 '필드타입 필드명 =값;' == String model = "Gv80";
*필드 타입별 기본값
필드 사용방법
- 필드의 값을 변경/ 읽기
클래스에 필드를 정의하여 선언했다고 바로 사용할 수 있는 것은 아니다.
클래스는 설계도일 뿐 실제로 필드의 데이터를 가지고 있는 것은 객체이다.
따라서 객체를 생성한 후에 필드를 사용할 수 있다.
외부접근
객체를 생성했다면 참조변수를 이용하여 외부에서 객체 내부의 필드에 접근하여 사용할 수 있다.
이때 객체의 내부 필드에 접근하는 방법은 도트(.) 연산자를 사용한다.
내부접근
객체 내부 메서드에서도 내부 필드에 접근할 수 있다.
speed = 0;
return speed;
}
이처럼 brakePedal() 메서드 내부에서 객체의 필드 speed를 바로 호출해서 사용할 수 있습니다.
'2세 > Java' 카테고리의 다른 글
Java 입력/출력 ( Scanner.in / Println() ) (0) | 2023.06.12 |
---|---|
얕은 복사, 깊은 복사, String 배열 (0) | 2023.05.30 |
[Java 문법 종합반] 3주차 : 클래스 설계 (0) | 2023.05.27 |
[Java 문법 종합반] 3주차 : 객체지향 프로그래밍 (0) | 2023.05.26 |
[Java 문법 종합반] 2주차 : 연산자, 조건문 (0) | 2023.05.24 |