코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (393)
    • frameworks (19)
      • spring (19)
      • spring-boot (0)
      • testing (0)
    • languages (94)
      • java (39)
      • kotlin (0)
      • python (42)
      • r (13)
    • libraries (0)
    • programming (239)
      • android (13)
      • c (17)
      • cpp (22)
      • database (18)
      • design-pattern (4)
      • data-structures (11)
      • git (8)
      • hadoop (6)
      • html-css (7)
      • issue (4)
      • javascript (26)
      • jsp (34)
      • os (29)
      • php (6)
      • preferences (19)
      • etc (15)
    • discography (37)
      • k-pop (18)
      • pop (19)
    • blog (3)

블로그 메뉴

  • Programming
  • Java
  • JavaScript
  • Discography
  • K-Pop Songs
  • Pop Songs
  • Blog
  • Guestbook

공지사항

인기 글

태그

  • linux
  • 파이썬
  • 자바스크립트
  • Android
  • Java
  • CentOS
  • python
  • r
  • jsp
  • oracle
  • Spring
  • javascript

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
코락 CoRock

코딩하는 락스타

languages/java

[Java] 생성자(Constructor)

2018. 1. 18. 11:26
반응형

8. 생성자(Constructor)

 

8.1 생성자(Constructor)의 특징

특별한 형태의 method
클래스 이름과 같은 method
리턴타입이 없음(void라고 할 수 있음)
object가 생성될 때 자동호출됨(개발자가 직접 호출할 수 없음)
new 클래스이름()
new 클래스이름: object 생성
클래스이름(): 생성자가 호출됨
용도: 객체의 초기화 작업(기본작업)을 처리

 

 

8.2 기본 생성자(default constructor)

매개변수가 없는 생성자

클래스에 생성자가 하나도 없으면 컴파일러가 기본 생성자를 추가한다.

생성자가 하나라도 있으면 컴파일러는 기본 생성자를 추가하지 않는다.

class DefaultConstructor {
    int x;
    public void setX(int x) { this.x = x; }
    public int getX() { return x; }
    
    // 컴파일러에 의해 자동 삽입된 기본 생성자
    public DefaultConstructor() { }
    
    public static void main(String[] args) {
    	DefaultConstructor p = new DefaultConstructor();
        p.setX(3);
    }
}

 

 

8.3 매개변수가 있는 생성자

 

8.4 생성자의 오버로딩

생성자도 method이므로 오버로딩이 가능함

 

8.5 메서드 오버로딩(method overloading)

overload - 과적하다. 부담을 많이 지우다.
하나의 클래스에 같은 이름의 메서드를 여러 개 정의하는 것

오버로딩의 조건
메서드의 이름이 같아야 한다.
매개변수의 개수 또는 타입이 달라야 한다.
매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다(리턴타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다).

 

public void print();
public void print(int n);
public void print(String str);
public String print();	// Error

 

 

8.6 this와 this()

8.6.1 this

객체 자신을 가리키는 참조변수(객체의 시작 주소를 가리킴)

멤버변수와 지역변수의 이름이 같은 경우 구별하기 위해 사용

 

8.6.2 this()

다른 생성자를 호출할 때 사용

this() 코드는 생성자에서 첫번째 라인에 작성해야 함

 

 

8.7 변수의 초기화

8.7.1 지역변수 : 연산, 출력 등의 작업을 하기 전에 반드시 초기값을 할당해야 함

잘못된 사용 예

 

8.7.2 전역변수(멤버변수) : 초기화를 하지 않아도 기본값이 할당됨

8.7.2.1 기본자료형

정수형 변수 : 0

실수형 변수 : 0.0

문자형 변수 : \0 (null 문자)

논리형 변수 : false

 

8.7.2.2 객체자료형(참조변수)

null

 

 

8.8 private 생성자

반응형
저작자표시 비영리 변경금지 (새창열림)
    'languages/java' 카테고리의 다른 글
    • [Java] static, final, 다형성
    • [Java] class(상속)
    • [Java] 클래스와 객체
    • [Java] Method
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바