클래스의 정의
객체의 특성을 공통요소로 묶어놓은 것
Ex) class Car{
int wheel;
String color;
String brand;
}
클래스의 사용
클래스명 객체명 = new 클래스명();
객체명.필드;
생성자의 정의
객체가 선언될 때 객체를 초기화하는 메서드
생성자의 특징
- 값을 반환하지 않는다.
생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 그런데 반환 값이 있다면 엉뚱한 객체가 생성될 것이다. 따라서 반환 값을 필요로하는 작업에서는 생성자를 사용하지 않는다. 반환 값이 없기 때문에 return도 사용하지 않고, 반환 값을 메소드 정의에 포함시키지도 않는다. - 생성자의 이름은 클래스의 이름과 동일하다.
- 매개변수를 달리해 여러개의 생성자를 선언할 수 있다.
출처: https://opentutorials.org/module/516/5519
초기화와 생성자 - Java
초기화 회사에 출근해서 업무를 시작하기 전에 제일 먼저 하는 일이 아마 책상 정리일 것이다. 커피를 내리는 경우도 있을 것이고, 컴퓨터 부팅을 시작하기도 할 것이다. 즉 어떤 일을 시작하기 전에 준비를 하게 되는데 이것을 다른 말로 초기화라고 한다. 객체 지향 프로그래밍도 초기화에 해당하는 기능이 제공되는데 이것을 생성자(constructor)라고 한다. 앞에서 살펴봤던 계산기 예제를 보자. 객체를 이용하기 위한 로직은 아래와 같다. Calculator
opentutorials.org
생성자예제
package day12;
public class Animal {
//강아지, 고양이, 돼지
//생성자를 사용해서 초기화
String name;
String spices;
int age;
int hp;
boolean hungry;
//생성자 정의
public Animal(String name, String spices, int age, int hp) {
this.name = name;
this.spices = spices;
this.age = age;
this.hp = 500;
this.hungry = false;
}
void infoPet() {
System.out.println("Pet Info"+"\n이름: "+name+"\n나이: "+age+"\n종: "+spices+"\n");
}
void exercise() {
this.hp -=100;
hungry = true;
}
void feed() {
this.hp +=100;
hungry = false;
}
public static void main(String[] args) {
//객체화
//인스턴스 변수
//클래스명() : 기본생성자
//클래스를 선언하면 자동으로 선언되는 생성자
Animal pig = new Animal("도롱", "Korean", 3, 400);
Animal cat = new Animal("차차", "Russian Blue", 6, 700);
Animal puppy = new Animal("망둥", "Mix", 12, 300);
pig.infoPet();
cat.infoPet();
puppy.infoPet();
}
}
'JAVA' 카테고리의 다른 글
DAY09; 메서드 (0) | 2019.08.20 |
---|---|
DAY08; 2차원 배열 (0) | 2019.08.11 |
DAY07; 배열 (0) | 2019.08.11 |
DAY06; while/ if / switch문의 사용 예제 (0) | 2019.07.20 |
DAY05; 제어문 (For문과 While문) (0) | 2019.07.20 |