객체지향2 Java 객체지향 (상속, 오버라이딩, 오버로딩) 저도 처음엔 상속, 오버라이딩, 오버로딩이 그냥 비슷한 개념인 줄 알았습니다. 이름도 헷갈리고, 뭐가 다른지 제대로 구분이 안 됐습니다. 직접 챔피언 예제를 짜보면서 세 개념이 완전히 다른 목적으로 쓰인다는 걸 몸으로 익혔고, 그 과정에서 일반적으로 알려진 것과 실제 사용 방식이 꽤 다르다는 것도 알게 됐습니다.상속과 오버라이딩: 코드 재사용이라는 말의 실제 의미상속(Inheritance)은 기존 클래스의 변수와 메서드를 그대로 물려받아 새 클래스를 만드는 기능입니다. 여기서 상속이란 단순히 코드를 복사하는 게 아니라, 부모 클래스가 가진 구조 전체를 자식 클래스가 이어받아 활용하는 방식을 의미합니다. 일반적으로 "코드 재사용을 위해 상속을 쓴다"고 알려져 있는데, 저는 처음에 그 말이 그냥 복붙 아닌가.. 2026. 6. 19. 자바 객체지향 (추상 클래스, 인터페이스, 다형성) 자바에서 추상 클래스, 인터페이스, 다형성은 객체지향 프로그래밍의 핵심 개념 세 가지입니다. 처음 배울 때는 셋 다 비슷해 보여서 "그냥 다 추상 클래스 쓰면 안 되나?" 싶었는데, 직접 코드를 짜보고 나서야 각각의 역할이 왜 나뉘어 있는지 체감이 됐습니다.추상 클래스, 언제 쓰고 언제 안 쓰나추상 클래스(Abstract Class)는 구현되지 않은 메소드가 하나 이상 포함된 클래스를 말합니다. 여기서 추상 메소드(Abstract Method)란, 메소드 이름과 반환 타입만 선언해두고 실제 동작 코드는 비워둔 것입니다. "이런 기능이 있어야 한다"고 명세만 남겨두고, 실제 구현은 상속받는 자식 클래스에게 맡기는 구조입니다.제가 처음 이 개념을 접했을 때는 "그냥 일반 클래스에 메소드 만들면 되지, 왜 굳.. 2026. 6. 18. 이전 1 다음