1. 깊은 복사 (Deep Copy)깊은 복사는 객체의 모든 멤버 데이터를 새로 복사하여 두 객체가 서로 독립적인 상태를 유지하도록 한다.주요 특징:새로운 메모리 공간을 할당하여 복사.원본 객체와 복사된 객체의 수명이 독립적.동적 메모리를 사용하는 경우 유용.// 복사 생성자 예제MyClass(const MyClass& other) { data = new int(*(other.data)); // 새로운 메모리 할당 후 복사}2. 얕은 복사 (Shallow Copy)얕은 복사는 객체의 멤버 데이터를 그대로 복사하되, 포인터가 같은 메모리를 참조하도록 한다.주요 특징:메모리 공간을 새로 할당하지 않음.복사된 객체와 원본 객체가 같은 메모리를 참조 (수명 공유).하나의 객체가 메모리를 해제하면 다른 객체..
1. 사용자 지정타입타입이란 데이터의 형태나 종류다. int, String은 자바에서 기본으로 제공하는 타입이다. 하지만 경우에 따라서 임의의 타입을 지정해야되는 경우가 있다. 예를 들어 학생정보를 관리할 때 이름, 키, 성적을 한 묶음으로 관리하고자 할 때 타입을 정의하는 것이 좋다. 이때 학생을 본따 만든 데이터의 형태를 사용자 지정타입이라고 한다.2. 클래스와 객체사용자 지정타입을 만들기 위해 자바는 클래스를 제공한다. 사용자지정타입이 설계도이면 클래스는 설계도를 자바로 표현한 것이다. 클래스는 다음과 같다.public class Student { String name; int grade; int age;}class: 자바에게 클래스임을 알려주는 키워드다.Student: 클래스의 이..