[Java의 정석]Chapter6.객체지향 프로그래밍(23~25)

Hello_Wendy·2022년 4월 19일
0

자바의 정석

목록 보기
42/61
post-thumbnail

Chapter 6. 객체지향 프로그래밍

23. 기본형 매개변수

  • 기본형 매개변수 : 변수의 값을 읽기만 할 수 있음(read only)
  • 참조형 매개변수 : 변수의 값을 읽고 변경 할 수 있음(read & write)

▶ 자바에서는 메서드를 호출할 때 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨줌.
▶ 매개변수의 타입이 기본형(primitive type)일 때는 기본형 값이 복사되겠지만, 참조형(reference type)이면 인스턴스의 주소가 복사
▶ 메서드의 매개변수를 기본형으로 선언하면 단순이 저장된 값만 얻지만, 참조형으로 선언하면 값이 저장된 곳의 주소를 알 수 있기 때문에 값을 읽고, 변경도 가능

▶ 기본형 매개변수

→ 'd.x'의 값이 변경된 것이 아니라, change메서드의 매개변수 x의 값이 변경된 것
→ 즉, 원본이 아닌 복사본이 변경된 것이라 원본에는 영향 없음
→ 이처럼 기본형 매개변수는 변수에 저장된 값만 읽을 수 있을 뿐 변경 불가

24. 참조형 매개변수

▶ 참조형 매개변수

→ change메서드의 매개변수가 참조형이라 '값이 저장된 주소'를 change메서드에게 넘겨 주었기 때문에 d.x의 값이 change메서드를 호출 한 뒤 값 변경

25. 참조형 반환타입

  • 반환타입이 참조형 : 참조형 타입의 값은 '객체의 주소'이므로 그저 정수값이 반환되는 것
  • 매개변수뿐만 아니라 반환타입도 참조형 가능

    ▶ copy메서드는 새로운 객체를 생성한 다음에, 매개변수로 넘겨받은 객체에 저장된 값을 복사해서 반환
    ▶ 반환하는 값이 Data객체의 주소이므로 반환 타입이 'Data'

profile
안녕 나의 새로운 세상

0개의 댓글