minghxx.blog
  • 자바의 정석 61~64강 return문, 반환값, 호출스택, 기본형매개변수, 참조형 매개변수, 참조형 반환타입
    2023년 08월 03일 15시 35분 08초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    ch 6-20~21 return문 반환값

    1. return문

    실행 중인 메서드를 종료하고 호출한 곳으로 되돌아감

    반환타입이 void면 생략 가능(컴파일러가 자동으로 추가해 줌)

    반환타입이 void가 아니면 반드시 필요, 참/거짓일 때 모두 return값이 있어야 함

    // 참일 때만 return문 실행되므로 에러 발생
    int max(int a, int b){
    	if(a > b)
    		return a;
    }

     

    2. 반환값

    반환타입과 반환값은 일치하거나 자동형변환 가능한 타입이어야 함(int일 경우 char, byte, short)

     


    ch 6-22 호출스택

    1. 스택

    밑이 막힌 상자처럼 위에 차곡차곡 쌓이고 꺼낼 땐 위부터 꺼내짐

     

    2. 호출 스택 call stack

    메서드 수행에 필요한 메모리가 제공되는 공간

    호출되면 호출 스택에 메모리를 할당하고 종료 시 해제

    맨 위의 메서드 하나만 실행되고 나머지는 대기 중

    싱글 스레드에선 하나의 메서드만 실행됨

     

    main이 println 메서드를 호출했을 때 호출 스택의 변화


    ch 6-23 기본형 매개변수

    1. 매개변수

    기본형 매개변수 : 변수의 값 읽기만 가능

    참조형 매개변수 : 변수의 값을 읽고 변경 가능

     

    2. 기본형 매개변수

    main의 x는 change 메서드를 실행했지만 x의 값이 왜 10인지 호출스택 그려보며 이해하기

     


    ch 6-24~25 참조형 매개변수, 참조형 반환타입

    1. 참조형 매개변수

    참조변수 d의 주소값을 매개변수로 넘겨주기 때문에 change 메서드를 실행할 때 값을 변경할 수 있음

    기본형은 매개변수의 값을 복사하기 때문에 change메서드를 실행할 때 값이 변경되지 않음

     

    2. 참조형 반환타입

     참조형 반환타입은 주소를 반환

     

    +) 추가 

    동일 클래스 + static → 메서드 호출 참조변수없고, 객체 생성 없이 호출 가능

    Ex6_8 e = new Ex6_8();

    e.copy(d);

    이 과정없이 호출 가능

    728x90
    댓글