Java 실습

[220523] Method, JavaApi

ss__0 2022. 5. 24. 00:34

■ 목표 달성

≫ call by reference를 사용하여 성적처리를  작성할 수 있는가? (O)

 

≫ 메소드 매개변수의 호출 방식은 여러 가지가 있다. 그 중 Call by ReferenceCall by value를 알고 있어야 한다.

 Call by value는 값을 전달하는 방식이고, Call by Reference는 주소를 전달하는 방식이다.

 Call by value은 값을 전달받는 것이기 때문에 전달받은 값에 어떤 행동을 취하던지, 기존에 저장된 변수값에는 변함이 없다. 왜냐하면 기존값과 전달받은 값이 같은 주소에 저장된 값이 아니기 때문이다.

그에 반해서 Call by Reference는 주소를 전달하는 방식이므로 어떤 행동을 취하게 되면 기존에 저장된 변수값에 변화가 생김. 


■ 트러블 슈팅

  • 현상

트러블 현상

  • 원인

Method의 리턴값을 int로 설정하였지만 return 받을 값을 정하지 않았음.

 

트러블 원인 코드

  • 해결책

int에 해당하는 리턴값을 받을 수 있도록 코드를 새로 작성했다.

int a =5 일 때 (a==1)? 거짓인 경우 이므로 리턴값으로 a*fact(4); 재귀함수로 fact(4)를 불러옴.

a가 1이 될 때까지 거짓일 경우의 코드가 반복되고 마지막에 1의 값을 리턴함.

오류를 수정한 코드

 


 

  • String과 StringBuffer의 차이 - 지난 주 진도의 연장선

String : 값 수정이 불가능. 내용을 수정하면 주소값이 변경됨.

StringBuffer : 값 수정이 가능. 동일한 주소값 내에서 내용을 수정할 수 있음. 값을 변경해도 주소값이 새로 갱신X

소스로 구현한 내용

 

 


 

■ 오늘의 소감

Score를 Method를 이용해서 소스 작성을 하였는데, 역시 새로운 방법이다보니 시간이 평소보다 오래 걸렸다.

새로운 기술을 익히는데는 시간과 연습이 중요하다고 다시금 느꼈다.

여태 소스 작성을 통해서 구현한 Max값 구하는 코드가 JavaApi에 저장되있는 것을 보고 원하는 코드를 빠르게 작성할 수 있어서 좋겠구나 하는 생각이 들었다!