[자바] - 클래스와 객체

yeom yaloo·2023년 11월 23일
0

FISA

목록 보기
4/61
post-thumbnail

클래스와 객체

[클래스와 객체]

1. 클래스란?

  • 붕어빵 틀을 생각하면 편하다.
  • 해당 틀에 여러 객체를 만든다.

2. 객체란?

  • 붕어빵 틀에서 찍어낸 붕어빵들을 생각하면 편하다.
  • 클래스에서 실제로 사용할 수 있는 것을 만들어 낸 결과물이 객체이다.

3. 인스턴스화?

  • 클래스를 이용해서 객체를 만드는 행위를 인스턴스화라고 하고 만들어진 결과물은 객체 또는 인스턴스라고 한다.

[객체 생성]

1. 생성자란?

  • 우리는 클래스를 만들고 이를 실체화해서 사용해야 한다.
  • 객체지향의 가장 큰 장점은 클래스를 만들어 두면 언제든지 이를 실체화해서 사용할 수 있다는 점이다.
  • 객체 생성, 초기화에 사용하는 메서드가 생성자이다.

객체 생성에 필요한 메서드 생성자

  • 기본 생성자
    • 해당 기본 생성자의 경우엔 인자가 없고, 컴파일러가 기본으로 생성해주기 때문에 개발자가 굳이 작성하지 않아도 된다.
  • 일반 생성자(인자가 있다)
    • 일반 생성자의 경우엔 개발자가 필요에 따라서 인자를 추가하는 등의 작업을 진행해서 객체 초기화에 사용한다.
  • 일반적으로 메서드에 해당하지만 생성자의 경우엔 한번만 사용할 수 있다는 점이 일반 메서드와의 차이점이다.
  • 생성자의 경우엔 반환 타입을 명시하지 않아야 한다.

1. 기본 생성자 코드

public class Class{

	접근제한자 Class(){
    	//반환 타입이 없는 것이 일반 메서드와 생성자의 차이점이다.
    }

}
  • 아무것도 없이 클래스 이름과 같은 이름을 가진 메서드가 기본 생성자이다.
  • 이는 컴파일러가 자동 생성해준다.
  • 데이터 초기화 작업이 없기 때문에 이는 객체 생성 후 나중에 따로 진행해도 무관하다.

2. 일반 생성자 코드


public class Class {

	private String field1;
    private int field2;
		
	접근제한자 Class(String a, int b){
    	this.field1 = a;
        this.field2 = b;
    }
}
  • 기본 생성자와 달리 초기화를 담당할 때 사용할 데이터가 인자(파라미터로) 넘겨 받고 있다.
  • 컴파일러가 자동으로 생성하지 않기 때문에 개발자가 직접 작성해주어야 한다.
  • 초기화 하고 싶은 값만 인자로 넘겨 받아 데이터 초기화를 진행한다.

ㅔ빌더 패턴의 등장]

profile
즐겁고 괴로운 개발😎

0개의 댓글