lala9663
Bump into
lala9663
전체 방문자
오늘
어제
  • 분류 전체보기 (158)
    • JavaScript (1)
    • Java (39)
    • Spring (28)
    • IntelliJ (7)
    • Git,Github (2)
    • CS (22)
    • Algorithm (23)
      • Algorithm 문제 (13)
    • 공부방 (9)
    • 그 외 (27)
      • TIL (24)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Spring
  • 백준
  • 스트림(Stream)
  • Post
  • try-catch
  • Get
  • Java
  • 자바
  • 자바 람다
  • thread
  • 동적
  • jsp
  • 백준 벌집
  • 정적
  • 웹서버
  • 웹 3.0
  • Intellij
  • was
  • 백준 2292
  • 1193
  • servlet
  • Til

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
lala9663

Bump into

Java

[자바] 생성자(constructor)

2022. 9. 25. 17:35

생성자


자바에서는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 생성자(constructor)라는 메소드를 제공한다.

자바에서 생성자(constructor)의 이름은 해당 클래스의 이름과 같아야 한다.

즉, Car 클래스의 생성자의 이름은 Car가 된다.

이러한 생성자는 다음과 같은 특징을 가진다.

  1. 생성자는 반환값이 없지만, 반환 타입을 void형으로 선언하지 않습니다.
  2. 생성자는 초기화를 위한 데이터를 인수로 전달받을 수 있습니다.
  3. 객체를 초기화하는 방법이 여러 개 존재할 경우에는 하나의 클래스가 여러 개의 생성자를 가질 수 있습니다.

기본 생성자 (default constructor)


  • 클래스에는 반드시 적어도 하나 이상의 생성자가 존재
  • 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있음
  • 클래스에 생성자가 하나도 없는 경우 컴파일러가 생성자 코드를 넣어 줌
    public Student(){}
  • 매개 변수가 없음, 구현부가 없음

생성자 정의하기(overloading)


  • 생성자를 구현해서 사용할 수 있음
  • 클래스에 생성자를 따로 구현하면 기본 생성자(default constructor)는 제공되지 않음
  • 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음

UserInfo.java

public class UserInfo {

    public String userId;
    public String userPassWord;
    public String userName;
    public String userAddress;
    public String phoneNumber;

    public UserInfo(){}

    public UserInfo(String userId, String userPassWord, String userName) {
        this.userId = userId;
        this.userPassWord = userPassWord;
        this.userName = userName;
    }

    public String showUserInfo() {
        return "고객님의 아이디는 " + userId + "이고, 등록된 이름은 " + userName + "입니다."; 
    }
}

UserInfoTest.java

public class UserInfoTest {

    public static void main(String[] args) {

        UserInfo userLee = new UserInfo();
        userLee.userId = "a12345";
        userLee.userPassWord = "zxcvbn12345";
        userLee.userName = "Lee";
        userLee.phoneNumber = "01034556699";
        userLee.userAddress = "Seoul, Korea";

        System.out.println(userLee.showUserInfo());

        UserInfo userKim = new UserInfo("b12345", "09876mnbvc", "Kim");
        System.out.println(userKim.showUserInfo());
    }
}

'Java' 카테고리의 다른 글

[자바] 정적 멤버와 static,싱글톤(singleton)  (0) 2022.09.26
[Java] GET,SET을 사용하는 이유  (0) 2022.09.25
[자바] 인스턴스(Instance)란?  (0) 2022.09.25
[자바] 함수와 메서드  (0) 2022.09.21
[자바] 객체(Object)  (0) 2022.09.21
    'Java' 카테고리의 다른 글
    • [자바] 정적 멤버와 static,싱글톤(singleton)
    • [Java] GET,SET을 사용하는 이유
    • [자바] 인스턴스(Instance)란?
    • [자바] 함수와 메서드
    lala9663
    lala9663
    초보의 험난한 공부

    티스토리툴바