참조 타입부터 상속, 인터페이스
1. 이번 주에 배운 기술이나 개념 중 가장 기억에 남는 3가지는 무엇인가요?
첫째, 참조 타입의 메모리 관리와 String 불변성. 기본형과 달리 참조형은 주소값을 공유한다는 점, 특히 String은 내부 값이 변하지 않고 새로운 객체가 생성된다는 원리(String Constant Pool).
둘째, 상속과 메서드 오버라이딩. 부모의 기능을 물려받아 재사용하고, 필요에 따라 super와 오버라이딩을 통해 기능을 수정하거나 확장하는 구조.
셋째, 인터페이스와 다형성. 추상 클래스보다 높은 추상화를 제공하며, implements를 통해 개발 표준을 맞추고 객체 간 결합도를 낮추는 설계 방식.
2. 이번 주 과정 중 막혔던 문제나 오류가 있었나요? 어떻게 해결했나요? (없다면 가장 인상 깊었던 실습 내용)
참조형 변수의 '얕은 복사' 문제. 배열이나 객체를 대입 연산자로 복사했더니 원본 값이 같이 바뀌는 부작용(Side Effect) 경험. 이를 통해 새로운 객체를 생성해 값을 복사해야 함을 깨달음.
또한 다운캐스팅 중 런타임 에러(ClassCastException) 발생. 무작정 형변환을 하면 안 되고, 반드시 instanceof 연산자로 타입을 확인한 후 변환해야 안전하다는 것을 실습으로 확인함.
3. 이번 주 수업 진도 속도, 강사님의 강의 스타일, 혹은 반 분위기는 어땠나요?
상속과 인터페이스로 넘어가면서 클래스 간 관계가 복잡해져 난이도가 체감상 확 오름. 하지만 강사님이 메모리 구조(스택-힙)와 객체 연결 관계를 도식화해 설명해 주셔서 super 키워드나 다형성 원리 이해에 큰 도움.
반 분위기는 어려운 개념(추상 클래스, 익명 구현 객체)이 나오니 더 몰입하는 분위기.
4. 다음 주에는 어떤 부분을 보완하고 싶나요?
인터페이스를 활용한 다형성 구현 집중 연습. 단순히 문법을 아는 것을 넘어, 실제 코드에서 인터페이스를 통해 유연하게 객체를 교체하는 설계를 직접 해볼 계획.
마지막에 배운 중첩 클래스와 익명 클래스가 아직 낯섦. 이벤트 리스너 처리에 자주 쓰인다고 하니, 주말 동안 관련 예제를 찾아보고 람다식 전 단계로서 확실히 정리해 둘 예정.
댓글
댓글이 없습니다.
