IT/Java

Chapter 06 객체지향 프로그래밍

인러너 2018. 10. 23. 16:50

잘 몰랐던 부분을 정리해본다. 





1. 클래스변수와 인스턴스 변수 차이 


공통점 : 둘다 클래스에 선언된 변수 이다.


차이점 : 클래스변수는 static이 붙은 것이라 할 수 있다. 




2. 스택영역 


메소드에어리어 - 클래스변수 저장 


힙 - 인스턴스변수 저장


콜스택 - 지역변수 저장 




3. 배열로 선언 시 참조형변수 


배열로 선언 해도 참조형변수 이다.  ex ) int[] a = new int[0];


그래서 메소드 매개변수로 읽기 뿐 아니라 변경까지 원한다면 새로운객체를 생성하는 것보다 간단한 


배열을 선언 하는 것이 좋다 .



4. 반환값이 있는 매개변수를 반환값이 없는 매개변수로 변경하는 방법 & 반환값을 여러개 받는 방법


참조형 매개변수를 추가로 넘겨준다면 가능하다. 


ex) void add ( int a, int  b, int[] result ) { result[0] = a + b; }