Java/Object Oriented Programming (4) 썸네일형 리스트형 [Java] 얕은 복사(shallow copy)와 깊은 복사(deep copy) title과 author을 속성으로하는 Book객체를 모아둔 배열이 있다고 합시다. 이 객체 배열의 복사 종류는 두가지가 있습니다. 01. 얕은 복사(shallow copy) 얕은 복사의 경우 주소값만 복사되기 때문에 원본인 bookArray에서 속성값이 변경된다면 bookCopyArray 또한 수정된 값이 반영됩니다. 02. 깊은 복사(deep copy) 깊은 복사의 경우 인스턴스가 새로 생성되어 속성 값이 복사되기 때문에 bookArray 배열에 저장되어 있는 각 인스턴스의 주소값과 bookCopyArray 배열에 저장되어 있는 각 인스턴스의 주소 값은 서로 다릅니다. 때문에 얕은 복사와 달리 원본인 bookArray에서 속성값을 변경하더라도 bookCopyArray에는 수정된 속성값이 반영되지 않습.. [Java] 프로그램에서의 변수의 유형 변수 유형 선언 위치 사용 범위 메모리 생성과 소멸 지역 변수 (로컬 변수) 함수 내부에 선언 함수 내부에서만 사용 스택 함수가 호출될 때 생성되고 함수가 끝나면 소멸 멤버 변수 (인스턴스 변수) 클래스 멤버 변수로 선언 클래스 내부에서 사용하고 private이 아니면 참조 변수로 다른 클래스에서 사용 가능 힙 인스턴스가 생성될 때 힙에 생성되고, 가비지 컬렉터가 메모리를 수거할 때 소멸 static 변수 (클래스 변수) static 예약어를 사용하여 클래스 내부에 선언 클래스 내부에서 사용하고 private이 아니면 클래스 이름으로 다른 클래스에서 사용 가능 데이터 영역 프로그램이 처음 시작할 때 상수와 함께 데이터 영역에 생성되고 프로그램이 끝나고 메모리를 해제할 때 소멸 [Java] 함수와 메서드 01. 함수란 무엇인가요? 함수(function): 하나의 기능을 수행하는 일련의 코드 함수는 호출하여 사용하고 기능이 수행된 후 값을 반환할 수 있습니다. 함수로 구현된 기능은 여러 곳에서 호출되어 사용될 수 있습니다. 02. 함수 정의 함수는 이름, 매개변수, 반환 값, 함수 몸체(body)로 구성됩니다. ※ 반환 값이 없을 경우 반환 값의 타입은 void로 명시해줍니다. 03. 메서드란 무엇인가요? 메서드(method): 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수 메서드를 구현함으로써 객체의 기능이 구현됩니다. 메서드 이름은 링크 참조 [Java] 객체지향 프로그래밍과 클래스 01. 객체란 무엇인가요? 객체(Object): 구체적, 추상적 데이터의 단위 ※ 사람, 자동차 같은 일반 명사 뿐만 아니라 주문, 생산, 관리같이 동사의 명사형도 객체가 될 수 있습니다. 02. 객체 지향 프로그래밍이란? 객체 지향 프로그래밍(Object Oriented Programmig: OOP): 객체를 기반으로 하는 프로그래밍 객체를 정의하고, 객체의 기능을 구현하며, 객체간의 협력(cooperation)을 구현 ※ 절차 지향 프로그래밍(Procedural Programming): 시간이나 사건의 흐름에 따른 구현 03. 클래스(Class) 객체를 코드로 구현한 것 개체 지향 프로그래밍의 가장 기본 요소 객체의 청사진(blueprint) 04. 멤버 변수, 메서드 멤버 변수(member vari.. 이전 1 다음