7일차 오후(자바 클래스/객체지향프로그래밍/객체/인스턴스/멤버변수(전역변수)/지역변수/this/멤버메소드/생성자)
***클래스도 하나의 자료형이다.(ex:int처럼) 그러므로 메소드의 파라미터로 넘길 수 있음(Test10 라인:12)
자료형의 두 가지 종류:
기본자료형;(int,chart,byte)
참조자료형;(클래스[string],배열)메모리에 주소값이 주어짐
객체를리턴할수있음
인스턴스(객체)는 주소값을 참조함.(참조변수라고 불림)
객체와 배열은 heap영역에 들어감(heap영역은 큰 데이터 값이 들어감)
stack에는 작은 데이터 값이 들어감
heap영역은 메모리 할당 받고 더이상 사용되지 않으면 해제됨.
해제되는 시점은
c언어에서는 객체 사용 후 더이상 사용안할 때 delete를 직접 입력해서 해지해야함.
하지만 자바는 G.C가 알아서 해지해야하므로 메모리를 따로 관리할 필요없다.
*자바는 만들어진 코드를 활용하여 프로그램 짜는 경우가 대부분
직접 만들어서 구현하는 경우는 별로 없음.
<객체지향프로그래밍4번관련> 질문
1) 데이터형이 Book bb는 매개변수의 이름
book이라는 클래스의 . getTitle기능을 호출
book이라는 클래스의 . getPrice기능을 호출
틀린서술인가? 맞는서술.
2)
main메소드 안에서만으로도 같은결과를 출력할 수 있는 데
클래스를 자료형으로, 메소드의 파라미터로 주는 이 방법을 통해 얻는 더 큰 효과가 있는지?
위에 프로젝트 경우 없음. 결과는 같으나 도출하는 하나의 다른 방법(클래스를 매개변수로)으로서 소개한 것일 뿐.