프로그래밍 언어/자바(JAVA)

복습 4일차 - 생성자, 패키지

따뜻한 개발자 2024. 3. 2. 01:30

생성자

◆ 생성자란 객체 생성 직후 객체를 초기화 하기 위한 특별한 메서드이다

 

■ 매번 인스턴스의 멤버변수를 초기화하는 함수를 만들어야하는 불편이 있었는데, 자바에서는 생성자라는 객체를 생성하는 시점에 초기화하거나, 기능을 실행할 수 있다

■ 초기화는 인스턴스를 생성시 최초로 어떤 값을 입력하는 행위를 말한다

This

■ 매개변수와 인스턴스의 멤버변수를 구분하기 위해 앞에 this 를 붙이고, this는 인스턴스 자신의 참조값을 가리킨다

 

public class MemberInit { 
	String name; 
    
void initMember(String name, int age, int grade) {
	this.name = name; // this 는 인스턴스 자신을 가리킨다
	} 
}

this 에 저장된 인스턴스 참조값을 통해 멤버변수에 접근하는 과정

■ this 는 인스턴스를 가리키는 참조값을 뜻함, 따라서 인스턴스의 멤버변수에 접근할 수 있게 되는것이다

This()

■ 생성자 코드 내에서만 호출할 수 있고, 반드시 첫줄에만 작성할 수 있다

■ 생성자 내부에서 다른 생성자를 호출할 수 있어 코드의 중복을 줄일 수 있고, 결과도 기존과 동일하다

생성자 사용방법

■ new <클래스의 이름>(<생성자에 맞는 인수 목록>) 으로 생성자를 호출한다

◆ 사용자가 직접 정의한 생성자가 있다면 그 생성자를 반드시 호출해야한다는 제약이 있다

■ 이 제약 덕분에 아무런 정보가 없는 객체가 프로그램 상에서 등장할 가능성을 미리 차단한다! 

기본 생성자

■ 클래스에 생성자가 하나도 없으면 컴파일시 기본 생성자를 자동으로 만들어준다

■ 생성자가 하나라도 있으면 기본 생성자를 만들지 않는다

생성자 오버로딩

■ 같은 이름으로 여러개의 생성자를 만드는 것을 생성자 오버로딩이라고 한다

■ 매개변수의 이름, 데이터의 타입, 순서가 달라야한다


패키지 

◆ 컴퓨터에서 파일을 분류하기 위해 디렉토리라는 개념처럼 자바에서는 패키지로 클래스의 기능들을 분류해서 관리할 수있다!

■ 클래스의 이름이 중복된다면, 자주 사용하는 클래스는 Import 하고, 나머지들은 패키지를 포함한 전체경로를 지정한다