JAVA

사용자 정의 생성자

jiyoon12 2025. 4. 24. 09:01
  • 사용자가 필요에 의해서 직접 코드를 넣어주는 것을 말한다.
package ch08;

public class Dog {

    String name;

    // 개발자가 생성자를 직접 만들지 않았다면
    // 컴파일러가 자동으로 기본 생서자를 추가해 준다.

    // 사용자 정의 생성자
    public Dog(String s) {
        name = s;
        // 중요!!
        // 생성자는 객체가 만들어질 때 제일 먼저 수행하는 코드가 된다.
    }

}
package ch08;

public class DogMainTest1 {

    public static void main(String[] args) {

//        Dog d1 = new Dog();
//        d1.name = "흰둥이";

        Dog d2 = new Dog("흰둥이");
        System.out.println(d2.name);

    } // end of main
}

package ch08;

import ch06.User;

// 사용자의 정보를 저장해 두어야 한다. (나중에 사용하기 위해서)
public class UserInfo {

    int userId;
    String password;
    String name;
    String tel;

    // 생성자가 여러개라면 -> 생성자 오버로딩이라고 한다.

    // 기본 생성자 모양
    public UserInfo(){}

    // 사용자 정의 생성자
    public UserInfo(int uid){
        System.out.println("1. 사용자정의 생성자 호출 됨");
        // 멤버 변수에 값을 초기화 시키는 코드를 작성한다.
        userId = uid;
    }
    // 사용자 정의 생성자
    public UserInfo(int uid, String p) {
        userId = uid;
        password = p;
    }

    public UserInfo(int uid, String p, String n) {
        userId = uid;
        password = p;
        name = n;
    }

    public  UserInfo(int uid, String p, String n, String t) {
        userId = uid;
        password = p;
        name = n;
        tel = t;

    }
}
package ch08;

import ch06.User;

public class UserMainTest {

    public static void main(String[] args) {
        // UserInfo u1 = new UserInfo();
        // UserInfo u2 = new UserInfo(1);
        // UserInfo u3 = new UserInfo(1, "p123");
        // UserInfo u4 = new UserInfo(1,"p123", "길동");
         UserInfo u5 = new UserInfo(1, "p123", "길동", "010-1234-1234");
        // 생성자는 객체가 메모리 올라갈 때 가장 먼저 수행되는 코드



    } // end of main
}

package ch09;

public class Bus {

    // 속성
    int busId; // 버스 ID
    String busType; // 버스 종류 (시내벗, 고속버스)
    String company; // 운영회사

    // 생성자 오버로딩
    // 매개 변수 1 받는 생성자
//    public Bus(int id) {
//        busId = id;
//    }
//
//    public Bus(int id, String type) {
//        busId = id;
//        busType = type;
//    }

    public Bus(int id, String type, String com) {
        busId = id;
        busType = type;
        company = com;
    }

    // 매서드
    public void showInfo() {
        System.out.println("------상태창------");
        System.out.println("버스 ID : " + busId);
        System.out.println("버스 type : " + busType);
        System.out.println("버스 company : " + company);

    }
package ch09;

public class BusMainTest {

    public static void main(String[] args) {

        // 생성자를 사용하는 목적은
        // 강제성을 부여하기 위함이다.
        Bus b1 = new Bus(133, "시내버스", "텐코");
        b1.showInfo();

    }
}

'JAVA' 카테고리의 다른 글

배열(Array)  (0) 2025.04.24
스타크래프트 만들어보기  (0) 2025.04.24
static  (0) 2025.04.24
this 연습문제  (0) 2025.04.24
this 사용법  (0) 2025.04.24