컴퓨터/Java
Java언어를 이용해서 객체지향 개념 프로그래밍을 하기 위해서는 class를 정의하고 정의된 class를 객체화(인스턴스)를 해야 됩니다.
프로그래머가 class를 정의할 때 생성자를 정의하여 독립된 객체로 인스턴스 변수를 만들 때에 초기값을 설정해 줄 수 있습니다.
생성자는 메서드와 비슷한 형태이며 class의 이름과 동일합니다.
class Human
{
//생성자
Human(String g,int h, int w)
{
gender = g;
height = h;
weight = w;
}
//멤버 변수
private String gender;
private int height;
private int weight;
//메소드
void intro()
{
System.out.println("이 사람의 성별은 "+gender+"이며 키는 "+height+"이고 몸무게는 "+weight+"입니다.");
}
}
실행시키면 다음과 같은 결과를 얻을 수 있습니다.
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Human human1 = new Human("남자",180,75);
human1.intro();
}
}
이 사람의 성별은 남자이며 키는 180이고 몸무게는 75입니다.
생성자가 없는 경우에도 인스턴스 생성이 가능합니다. 이런 경우 어떻게 되는지 확인해 보도록 하겠습니다.
public class Human
{
/*
Human(){}
*/
//멤버 변수
private String gender;
private int height;
private int weight;
//메소드
void intro()
{
System.out.println("이 사람의 성별은 "+gender+"이며 키는 "+height+"이고 몸무게는 "+weight+"입니다.");
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Human human1 = new Human();
human1.intro();
}
}
이 사람의 성별은 null이며 키는 0이고 몸무게는 0입니다.
사실 class를 정의할 때 생성자를 정의하지 않는다면 위의 소스코드와 같이 아무것도 없는 생성자가 있는 것과 마찬가지입니다. 생성자가 존재해야만 인스턴스 변수의 생성이 가능해지기 때문입니다.
위와 같이 어떠한 class를 정의하고 그 class를 이용해 독립된 객체화를 하는데 아주 효율적일 수 있습니다. 멤버 변수들의 초기값을을 생성과 동시에 정의하면서 독립된 객체를 다루기 위한 사전 준비작업을 쉽게 할 수 있기 때문입니다.
Java - 얕은 복사와 깊은 복사 (0) | 2021.07.21 |
---|---|
Java - 오버로딩과 오버라이딩 (0) | 2021.07.19 |
Java - class의 상속의 개념(extends) (0) | 2021.07.16 |
Java - 접근 제한자 (0) | 2021.07.07 |
Java - Class (0) | 2021.07.05 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet