2026/05/12 3

객체지향 프로그래밍의 4가지 핵심 개념 - 다형성(Polymorphism)

1. 다형성이란?영어로 poly(여러 개의) + morphism(형태)의 합성어로, 하나의 객체가 여러 형태를 가질 수 있는 성질을 의미한다.자바에서의 다형성이란, 상위 클래스 타입의 참조 변수로 하위 클래스의 객체를 참조할 수 있는 성질을 말한다.다형성이 적용되면 참조 변수는 상위 클래스 타입이지만, 실제 호출되는 메서드는 오버라이딩된 하위 클래스의 메서드이다.1 - 2. 다형성이 왜 필요할까?여러 타입의 객체를 하나의 타입으로 관리가 가능하다.같은 메시지로 다양한 객체를 처리가 가능하여 코드가 간결화되고 코드 유지보수가 쉬워진다.새 객체가 생겨도 기존 메서드를 그대로 활용할 수 있어 확장에 유리하다.의존성을 줄여 결합도를 낮추고 유연하고 유지보수하기 쉬운 설계가 가능하다.1 - 3. 메서드 오버라이딩..

자바 고급(JAVA) 2026.05.12

객체지향 프로그래밍의 4가지 핵심 개념 - 캡슐화(Encapsulation)

1. 캡슐화란?특정 객체 안에 관련된 속성과 기능을 하나의 단위로 묶고, 외부로부터 데이터를 보호하는 객체지향 프로그래밍(OOP)의 핵심 개념이다. 객체가 제공하는 메서드를 통해서만 데이터에 접근하게 함으로써, 데이터 보호와 불필요한 외부 노출 방지라는 두 가지 목적을 달성한다.특징외부에서 객체의 속성을 직접 접근하지 못하도록 제한한다.데이터의 유효성을 검증할 수 있는 메서드를 통해 접근 가능하게 한다.객체 간 결합도를 낮추어 유지보수성을 향상시킨다.1 - 1. 캡슐화가 필요한 이유1. 필드에 직접 접근할 때의 문제점- 유효하지 않은 데이터 입력을 막을 수 없다.- 클래스 내부 필드가 변경되면 사용하는 모든 코드에 영향을 미친다.2. 캡슐화의 장점장점설명데이터 보호외부에서 필드 직접 접근 제한. sett..

자바 고급(JAVA) 2026.05.12

객체지향 프로그래밍의 4가지 핵심 개념 - 상속(Inheritance)

1. 상속이란상속은 기존 클래스(상위 클래스)의 멤버(필드, 메서드 등)를 새로운 클래스(하위 클래스)가 물려받는 것을 말한다. 이 떄, 하위 클래스는 상위 클래스의 기능을 그대로 사용하거나, 필요에 따라 확장하거나 재정의(Override)가 가능하다. 자바에서는 extends 키워드를 사용하여 상속을 구현한다.1 - 1. 상속의 장점과 단점- 장점코드의 재사용성 증가공통 코드를 상위 클래스에 작성하고 하위 클래스에서 재사용할 수 있다.계층적 구조 설계 가능클래스 간 관계를 명확하게 표현이 가능하다.(is-a 관계)다형성(polymorphism)의 기반 제공부모 타입으로 다양한 자식 객체를 처리할 수 있다.- 단점높은 결합도(coupling)하위 클래스가 상위 클래스의 변경에 민감해진다.유연성 저하자바는..

자바 고급(JAVA) 2026.05.12