728x90 반응형 java2 추상클래스, 왜 사용할까? "추상클래스는 왜 사용하는 거지? 그냥 일반 클래스를 상속받아서 오버라이딩하면 되는 거 아닌가?"자바를 공부하다 보면 한 번쯤 들게 되는 의문입니다. 이론적으로는 "구현을 강제한다"고 배우지만, 실제로 일반 클래스로도 똑같은 결과를 만들 수 있는데 왜 굳이 추상클래스를 사용해야 할까요?이 글에서는 실무 관점에서 추상클래스가 필요한 진짜 이유를 알아보겠습니다.추상클래스의 핵심 목적1. 불완전한 객체 생성을 막는다// 일반 클래스class Animal { void sound() { // 구현 안 함 (또는 의미 없는 구현) }}Animal animal = new Animal(); // ✅ 가능하지만... 의미가 있나?animal.sound(); // 아무 일도 안 일어남위 코드는 문법.. 2026. 2. 16. 실행코드는 왜 반드시 메서드 안에 있어야 할까? 자바를 공부하다 보면 한 번쯤 궁금해지는 질문입니다. "왜 클래스 본문에 직접 코드를 실행할 수 없을까?" 이 글에서는 자바의 설계 철학을 통해 그 이유를 알아보겠습니다. 잘못된 코드 예시먼저 다음과 같은 코드는 왜 컴파일 에러가 발생할까요?class Person { void cry() { System.out.println("흑흑"); }}class Child extends Person { protected void cry() { System.out.println("잉잉"); } super.cry(); // ❌ 컴파일 에러!}또는class Person { void cry() { System.out.println("흑흑"); }}class Child extends Pers.. 2026. 2. 15. 이전 1 다음 728x90 반응형