http://www.tcpschool.com/java/java_class_intro
지식의 출처 : 티피씨스쿨
객체 지향 프로그램이란 우리가 인식하는 사물과 같은 객체의 행동을 구체화 하는 형태의 프로그래밍을 객체 지향 프로그래밍이라고 한다.
이 때 객체를 만들어내기 위한 설계도를 클래스Class라고 한다.
객체의 상태를 나타내는 {} 필드, 객체의 행동을 나타내는 메소드() 로 구성.
필드란 클래스에 포함된 변수를 의미하고, 메소드란 특정 작업을 수행하기 위한 명령문의 집합.
클래스를 사용하기 위해서는 클래스 타입의 객체 선언 필요.
객체를 선언 -> 해당 클래스 타입의 객체, 인스턴스 붕어빵 생성.
하나의 클래스에서 여러 인스턴스 생성 가능.
클래스(class)
- 차(Car) : 설계도
필드(field)
- car.modelName = "람보르기니"
- car.modelYear = 2016
- car.color = "주황색"
- car.maxSpeed = 350
메소드(method)
- car.accelerate()
- car.brake()
인스턴스(instance)
- 내 차(myCar) : 설계도에 의해 생산된 차량
- 친구 차(friendCar) : 설계도에 의해 생산된 또 다른 차량
하나의 클래스에 같은 이름의 메소드를 둘 이상 정의할 수 없음.
메소드 오버로딩을 통해 같은 이름의 메소드를 중복하여 정의할 수는 있음.
메소드 오버로딩 : 매개변수의 개수 혹은 타입을 다르게 해서 같은 이름의 또 다른 메소드를 작성하고 컴파일이 그에 가까운 매개변수를 로딩함.
클래스의 구성요소
1. 생성자
생성된 객체의 필드(변수)를 초기화해줌.
클래스로 객체를 생성하면 해당 객체는 메모리에 즉시 생성.
객체의 생성과 동시에 변수를 원하는 값으로 초기화할 수 있는 생성자 메소드가 있음.
생성자의 이름은 해당 클래스의 이름과 동일해야 함
https://blue-dot.tistory.com/68
class Car { // 클래스 이름
private String modelName; // 필드
private int modelYear; // 필드
Car(String modelName, int modelYear) { // 생성자
this.modelName = modelName;
this.modelYear = modelYear;
}
public String getModel() { // 메소드
return this.modelYear + "년식 " + this.modelName + " " + this.color;
}
}
2. 필드
클래스에 포함된 변수.
클래스 내에서 선언된 위치에 따라 구분함.
- 클래스 변수
- 인스턴스 변수
- 지역 변수
3. 메소드
특정 작업을 위한 명령문의 집합.
클래스 사용법
1. 클래스 선언
접근제어자 class 클래스이름 {
접근제어자 필드1의타입 필드1의이름;
접근제어자 필드2의타입 필드2의이름;
...
접근제어자 메소드1의 원형
접근제어자 메소드2의 원형
...
};
접근 제어자는 정보 은닉을 위한 키워드로 public 멤버는 모든 객체에 접근할 수 있지만 private 멤버는 해당 객체 내의 멤버 변수나 메소드만이 접근할 수 있다.
2. 인스턴스 생성
참조변수 선언
Car myCar;
클래스이름 참조변수이름;
myCar = new Car() ;
new 키워드로 인스턴스 생성 후 참조 변수에 저장해서 사용
-> Car myCar = new Car(); 동시에 생성도 가능
'자바 > 자바 복습 되새김질' 카테고리의 다른 글
자바 이클립스 클래스 이름 변경하기 (0) | 2022.11.08 |
---|---|
자바 복습. 공부한 내용들의 간단 리뷰! (0) | 2022.11.08 |
자바 복습. 인터페이스 (0) | 2022.11.01 |
자바 복습. this() 참조 변수 사용 (0) | 2022.10.27 |
자바 복습. 상수 constant, 리터럴 literal (0) | 2022.10.27 |