728x90
📌 클래스는 객체를 생성하기 위한 설계도
- 클래스의 구성 멤버에는 필드, 생성자, 메서드가 있다.
4 STEP
📌 우리가 클래스를 만들기 위해서는 4가지 STEP 이 필요하다.
- 만들려고 하는 설계도를 선언합니다.(클래스 선언)
- 객체가 가지고 있어야할 속성(필드)을 정의한다.
- 객체를 생성하는 방식을 정의한다.(생성자)
- 객체가 가지고 있어야할 행위(메서드)를 정의한다!
자동차 클래스를 만들어 보겠다!
1. 클래스 선언!
public class Car {}
//public class Car : 공개된 자동차 클래스 선언을 의미한다.
2. 클래스의 필드 정의!
String company; // 자동차 회사
String model; // 자동차 모델
String color; // 자동차 색상
double price; // 자동차 가격
double speed; // 자동차 속도 , km/h
char gear; // 기어의 상태, P,R,N,D
boolean lights; // 자동차 조명의 상태
- 필드는 객체의 속성으로써 데이터를 저장하는 역할을 합니다.
- String 타입의 company 변수 선언 : 자동차 회사명을 저장합니다.
- String 타입의 model 변수 선언 : 자동차의 모델명을 저장합니다.
- String 타입의 color 변수 선언 : 자동차의 색상을 저장합니다.
- double 타입의 price 변수 선언 : 자동차의 가격을 저장합니다.
- double 타입의 speed 변수 선언 : 자동차의 속도를 저장합니다.
- char 타입의 gear 변수 선언 : 자동차의 기어 상태를 저장합니다.
- boolean 타입의 lights 변수 선언 : 자동차의 조명 상태를 저장합니다.
3. 클래스의 생성자 정의!
public Car() {}
- public Car() : 자동차 객체의 생성 방식을 선언합니다.
- 생성자는 반환 타입이 없고 이름은 클래스의 이름과 동일합니다.
- 괄호( ) 안에 아무것도 없는 생성자를 기본 생성자라 합니다.
4. 클래스의 메서드 정의!
double gasPedal(double kmh) {
speed = kmh;
return speed;
}
- 반환타입이 double 인 `gasPedal(double kmh)` 메서드를 선언합니다.
- 매개변수인 kmh을 통해 매개값을 전달받아 자동차의 속성인 speed 필드에 해당 값을 저장합니다.
double brakePedal() {
speed = 0;
return speed;
}
- 반환타입이 double 인 `brakePedal()` 메서드를 선언합니다.
- 메서드가 호출되면 자동차의 속성인 speed 필드의 값을 0으로 바꾼후 speed의 값을 반환합니다.
char changeGear(char type) {
gear = type;
return gear;
}
- 반환타입이 char 인 `changeGear(char type)` 메서드를 선언합니다.
- 매개변수인 type을 통해 매개값을 전달받아 메서드가 호출되면 자동차의 속성인 gear 필드에 해당 값을 저장합니다.
boolean onOffLights() {
lights = !lights;
return lights;
}
- 반환타입이 boolean 인 `onOffLights()` 메서드를 선언합니다.
- 메서드가 호출되면 자동차의 속성인 lights의 현재 논리 값을 반전 시킨 후 lights의 값을 반환합니다.
void horn() {
System.out.println("빵빵");
}
- 반환값이 없는 `horn()` 메서드를 선언합니다.
- 메서드가 호출되면 자동차의 경적소리인 “빵빵”이 출력됩니다.
지금까지 클래스를 설계하는 방법을 보았다ㅋ
클래스 설계가 이해가 어렵다면 아래 글도 참고해보자....(뿌잉 >3<)
[참조] 객체지향 프로그래밍 이해하기 (1)
[JAVA] 객체지향 프로그래밍 이해하기 (1)
📌 현실세계에서 어떠한 제품을 만들기 위해 부품들을 하나씩 조립해서 완성시키는 것 처럼 소프트웨어 또한 필요한 부품들을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만들 수 있는
pink-love-princess.tistory.com
[참조] 객체지향 프로그래밍 이해하기 (2)
[JAVA] 객체지향 프로그래밍 이해하기 (2)
1. 객체 지향 프로그래밍의 특징 📌 우리가 객체지향 프로그래밍을 하다보면 필연적으로 만나게 되는 개념이 있습니다. 바로 캡슐화, 상속, 다형성, 추상화입니다. 앞으로 학습하게 되는 내용에
pink-love-princess.tistory.com
'JAVA' 카테고리의 다른 글
[JAVA] 객체의 속성(필드),행위(메서드) (1) | 2023.05.30 |
---|---|
[JAVA] 객체 생성과 참조형 변수 (0) | 2023.05.29 |
[JAVA] 객체지향 프로그래밍 이해하기 (2) (0) | 2023.05.29 |
[JAVA] 객체지향 프로그래밍 이해하기 (1) (0) | 2023.05.29 |
[JAVA] JVM 구조와 메모리 영역 (0) | 2023.05.28 |