클래스(class)
클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다
필드 : 클래스에 포함된 변수
메소드 : 어떠한 특정 작업을 수행하기 위한 명령문
---------------------------------------------------------------------------------------------------------------------------
인스턴스(instance)
- 선언된 해당 클래스 타입의 객체를 인스턴스라고 합니다.
- 인스턴스란 메모리에 할당된 객체를 의미합니다.
- 하나의 클래스로부터 여러 개의 인스턴스 생성이 가능합니다.
- 생성된 인스턴스는 독립된 메모리 공간에 자신만의 필드를 가질 수 있습니다.
- 하지만 해당 클래스의 모든 메소드는 해당 클래스에서 생성된 모든 인스턴스가 공유하게 됩니다.
---------------------------------------------------------------------------------------------------------------------------
메소드(method)
형식)
접근제어자 반환타입 메소드이름(매개변수목록) { // 선언부
    // 구현부
}

1. 접근 제어자 : 해당 메소드에 접근할 수 있는 범위를 명시합니다.
2. 반환 타입(return type) : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 명시합니다.
3. 메소드 이름 : 메소드를 호출하기 위한 이름을 명시합니다.
4. 매개변수 목록(parameters) : 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시합니다.
5. 구현부 : 메소드의 고유 기능을 수행하는 명령문의 집합입니다.

자바에서는 하나의 클래스에 같은 이름의 메소드를 둘 이상 정의할 수 없습니다.
하지만 메소드 오버로딩(overloading)을 이용하면, 같은 이름의 메소드를 중복하여 정의할 수 있습니다.
메소드 오버로딩이란 매개변수의 개수나 타입을 다르게 하여 같은 이름의 또 다른 메소드를 작성하는 것입니다.
---------------------------------------------------------------------------------------------------------------------------
ex) 클래스 인스턴스 예제
클래스(class) -> 차(Car) : 설계도

필드(field)
- car.modelName = "람보르기니"
- car.modelYear = 2016
- car.color = "주황색"
- car.maxSpeed = 350

메소드(method)
- car.accelerate()
- car.brake()

인스턴스(instance)
- 내 차(myCar) : 설계도에 의해 생산된 차량
- 친구 차(friendCar) : 설계도에 의해 생산된 또 다른 차량

즉, 자동차 인스턴스는 모두 위와 같은 필드와 메소드를 가지게 될 것입니다.
하지만 각 인스턴스마다 가지고 있는 프로퍼티의 값은 전부 다를 것입니다.

'Java' 카테고리의 다른 글

[Java] HttpURLConnection이란?  (0) 2023.04.13
[Java] Static 정리  (0) 2023.04.10
접근 제어자  (0) 2023.04.06

+ Recent posts