inblog logo
|
jay0628
    Java

    [Java] 10.3.1. 기본생성자

    김주희's avatar
    김주희
    Feb 26, 2025
    [Java] 10.3.1. 기본생성자
    Contents
    1. 생성자2. 기본 생성자 (디폴트 생성자, default contstructor)

    1. 생성자

    1. 객체를 생성과 동시에 초기화하는 메서드
    1. 생성자 이름 = 클래스 이름

    1. BurgerTest 예제

    package ex04; class Burger { private String name; private int price; // 모든 상태가 변경되는 것은 아님(final) - 내가 정하는 것 // 상태 확인 메서드(2개 -> 상태가 2개니까) public String getName() { return name; } public int getPrice() { return price; } // 생성자 - 사용법이 메서드와 같다 public Burger(String n, int p) { // String n, int p은 stack에 생김 - 메서드 종료(stack사라짐)될 때 사라짐 name = n; // heap에다가 데이터를 옮기는 방법 price = p; } } public class BurgerTest { public static void main(String[] args) { Burger b1 = new Burger("기본버거", 2000); //b1.name = "기본버거"; // 문법적으로는 맞지만 객체지향 프로그램X - 행위를 통해서 상태 변경 //b1.price = 2000; System.out.println(b1.getName()); System.out.println(b1.getPrice()); } }
    notion image
     
     

    2. Television 예제

    package ex04; class Television { private int channel; private int volume; private boolean onOff; Television(int c, int v, boolean o) { channel = c; volume = v; onOff = o; } void print() { System.out.println("채널은 " + channel + "이고 볼륨은 " + volume + "입니다."); } } public class TelevisionTest { public static void main(String[] args) { Television myTv = new Television(7, 10, true); myTv.print(); Television yourTv = new Television(11, 20, true); yourTv.print(); } }
    notion image
     

    2. 기본 생성자 (디폴트 생성자, default contstructor)

    1. 기본 생성자 = 매개 변수가 없는 생성자
    1. 개발자가 생성자를 하나도 정의하지 않으면 자바 컴파일러는 기본 생성자를 자동으로 만든다.
    1. 기본 생성자는 자동으로 모든 멤버의 변수를 기본값으로 초기화한다.
        • 수치형 변수(int 등) = 0
        • 참조형 변수 = null
        • 부울형 변수 = false
     
    package ex04; class Box { int width; int height; int depth; } public class BoxTest { public static void main(String[] args) { Box b = new Box(); System.out.println("상자의 크기: (" + b.width + "," + b.height + "," + b.depth + ")"); } }
    notion image
     
    1. (cf. 2-2) 개발자가 생성자를 하나라도 선언하면, 컴파일러는 기본 생성자를 생성하지 않는다.
      1. → 컴파일러가 개발자의 의도를 훼손하지 않기 위해서 (e.g. 박스 생성시 반드시 박스의 크기를 지정해야 한다.)
    notion image
    Share article
    Contents
    1. 생성자2. 기본 생성자 (디폴트 생성자, default contstructor)

    jay0628

    RSS·Powered by Inblog