Class - 캐릭터, 가구, 붕어빵 틀 (추상적인 것)
Object - 누누, 티모, 의자, 침대 (실체화가 가능한 것)
Instance - 내가 플레이중인 누누, 티모, 내가 구매한 의자, 침대, 내가 산 붕어빵 (실체화가 된 것)
1. 클래스란?
- 클래스는 표현하고자 하는 대상의 공통 속성을 한 군데에 정의해 놓은 것이라고 할 수 있습니다.
- 즉, 클래스는 객체의 속성을 정의해 놓은 것이죠.
- 또한, 클래스 내부의 정보를 멤버 변수라고 합니다.
클래스 = 붕어빵 틀 (게임 캐릭터의 틀)
인스턴스 = 붕어빵 틀에서 찍어낸 붕어빵 (생성된 각각의 캐릭터)
멤버 변수 = 붕어빵이 가진 속성 (캐릭터의 능력치)
메소드 = 붕어빵이 가진 기능 (캐릭터의 스킬)
2. 생성자(constructor)
- 생성자는 인스턴스가 생성될 때 사용되는 **'인스턴스 초기화 메소드'**입니다. 즉 new 와 같은 키워드로 해당 클래스의 인스턴스가 새로 생성될 때, 자동으로 호출되는 메소드입니다. 이 생성자를 이용해서 인스턴스가 생성될 때 수행할 동작을 코드로 짤 수 있는데요. 대표적으로 인스턴스 변수를 초기화 하는 용도로 사용합니다.
- 생성자의 형식
- 생성자에게도 생성자만의 조건이 있기 때문에 이 부분을 따라줘야합니다!
- 생성자의 이름은 클래스명과 같아야 한다.
- 생성자는 리턴 값이 없다.
- 클래스이름 (타입 변수명, 타입 변수명, ...){ 인스턴스 생성 될 때에 수행하여할 코드 변수의 초기화 코드 }
- 클래스에서 생성자를 명시해주지 않을 경우 Default 생성자가 존재한다. (자바 컴파일러가 기본 생성자를 추가해주기 때문)
- 생성자에게도 생성자만의 조건이 있기 때문에 이 부분을 따라줘야합니다!
# 생성자 예시
class Phone {
String model;
String color;
int price;
Phone(String model, String color, int price) {
this.model = model;
this.color = color;
this.price = price;
}
}
public class Main {
public static void main(String[] args) {
Phone galaxy = new Phone("Galaxy10", "Black", 100);
Phone iphone =new Phone("iPhoneX", "Black", 200);
System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
}
}
'프로그래밍 > Java' 카테고리의 다른 글
객체지향언어 (4) 추상클레스, 인터페이스 (0) | 2022.05.18 |
---|---|
객체지향언어 (3) 접근제어자 (0) | 2022.05.17 |
객체지향언어 (2) 상속, overloading, overriding (0) | 2022.05.17 |
자료형 - Primitive Type(기본 자료형)/ Reference Type(참조 자료형) (0) | 2022.05.16 |
Java - cloud 세팅 ( with. Azul - zulu/InteliJ + encoding설정) (0) | 2022.05.16 |