TIL - Java 기초(4)

김지현·2023년 4월 10일
0

항해99

목록 보기
7/16

2023-04-10


클래스

(class)

  • 객체를 생성하기 위한 설계도
    [ 구성 멤버 : 필드 , 생성자 , 메서드 ]

< 클래스 만드는 순서 >
1. 클래스 선언
2. 클래스 필드 정의
3. 클래스 생성자 정의
4. 클래스 메서드 정의

클래스 선언

public class Car {

}

클래스 필드 정의

필드

  • 객체의 데이터를 저장하는 역할

1) 고유 데이터 영역
2) 상태 데이터 영역
3) 객체 데이터 영역

public class Car {
	// 1) 고유 데이터 영역
	String company;			// 자동차 회사
    String model;			// 자동차 모델
    String color;			// 자동차 색상
    double price;			// 자동차 가격
    // 2) 상태 데이터 영역
    double speed;			// 자동차 속도 (km/h)
    char gear;				// 기어의 상태 (P, R, N, D)
    boolean lights;			// 자동차 조명의 상태
    // 3) 객체 데이터 영역
    Tire tire;				// 타이어 클래스를 만든 후 적용
    Door door;				// 도어 클래스를 만든 후 적용
    Handle handle;			// 핸들 클래스를 만든 후 적용
}
public class Tire {
    public Tire() {}
}
public class Door {
    public Door() {}
}
public class Handle {
    public Handle() {}
}

클래스 생성자 정의

생성자

  • 처음 객체가 생성될 때 (instance화) 어떤 로직을 수행해야 하며, 어떤 값이 필수로 들어와야 하는지 정의
public class Car {
	String company;			// 자동차 회사
    String model;			// 자동차 모델
    String color;			// 자동차 색상
    double price;			// 자동차 가격
    double speed;			// 자동차 속도 (km/h)
    char gear;				// 기어의 상태 (P, R, N, D)
    boolean lights;			// 자동차 조명의 상태
    
    public Car() {}			// 기본 생성자 (생략 가능)
}

클래스 메서드 정의

메서드

  • 객체의 행위
public class Car {
	String company;			// 자동차 회사
    String model;			// 자동차 모델
    String color;			// 자동차 색상
    double price;			// 자동차 가격
    double speed;			// 자동차 속도 (km/h)
    char gear;				// 기어의 상태 (P, R, N, D)
    boolean lights;			// 자동차 조명의 상태
    
    public Car() {}			// 기본 생성자 (생략 가능)
    
    double gasPedal(double kmh, char type) {
    	changeGear(type);
        speed = kmh;
        return speed;
    }
    double brakePedal() {
    	speed = 0;
        return speed;
    }
    char changeGear(char type) {
    	gear = type;
        return gear;
    }
    boolean onOffLight() {
    	lights = !lights;
        return lights;
    }
    void horn() {
    	System.out.println("빵빵!");
    }
}

멤버

[ 멤버 = 필드 + 메서드 ]

인스턴스 멤버

  • 인스턴스 필드 + 인스턴스 메서드
  • 객체 생성 후에 사용할 수 있음

클래스 멤버

  • 클래스 필드 + 클래스 메서드
  • static 키워드 사용
  • 객체 생성 없이 사용 가능함

0개의 댓글

관련 채용 정보