ch08 : 참조 자료형
목차
참조 자료형
new 키워드로 생성한 객체 (단, String은 리터럴변수로도 선언 가능)
기본 자료형(byte, short, int, long, float, double, char, boolean) 제외한 모든 자료형
생성자
기본 생성자 : 매개변수가 없는, 자동으로 만들어지는 생성자
만약 개발자가 다른 생성자를 만들었을 경우, 기본 생성자는 따로 만들어주어야 함
생성자는 여러 개 만들 수 있다.
이유?
클래스의 일부 필드만으로 객체를 생성/전달/반환해야 할 경우가 있다. 이때 클래스의 일부 필드만을 매개 변수로 받아서 객체를 생성하기 위해 여러 종류의 생성자를 만들 수 있다!
this란
객체의 변수와 매개변수의 이름이 같을 때, 구분하기 위해서 사용함
DTO : 여러 자료형을 하나의 타입에 담아 전달하고자 할때 사용하는 클래스로, 데이터를 다른 서버로 전달하기 위해 사용함 VO : 데이터를 담아 두기 위한 클래스 참고
Static
Static 메소드
ex)
public static void myMethod() { … };
객체를 생성하지 않고서도 메소드 호출 가능하다.
(일반 메소드처럼 객체별로 생성되는 게 아닌, 클래스 단위로 하나 생성되기 때문)
클래스 변수(static 변수)만 사용 가능하다.
Static 블록
ex)
static { … } // 클래스 내부에서
클래스의 객체가 생성되면서 딱 한번만 사용할 코드일 경우, static 블록 사용
Pass by Value VS Pass by Reference
매개 변수를 넘겨준 상황에서, 메소드 내부에서 해당 변수 값을 변경하게 되면
Pass by Value : 원본 값이 변경 되지 않는다.
Pass by Reference : 원본 값이 변경된다.
Pass by Value
값을 넘겨주는 호출 방식이다.
기본 자료형은 Call-By-Value이다.
Pass by Reference
참조에 의한 호출 방식
참조 자료형은 Pass by Reference이다.
주소 값으로 참조가 가능하여, 주소 값이 가리키는 객체의 내용을 변경할 수 있다.
매개변수가 갯수가 정해지지 않았다면
타입…변수명
을 매개변수로 넘겨줌ex)
pubilc void atrbitrary(String message, int... numbers)
하나의 메소드에서 한번만, 그리고 가장 마지막에만 선언해야함
Last updated