본문 바로가기

STUDY/Java

Java | 객체 지향 프로그래밍(OOP : Object Oriented Programming)의 주요 개념

1. 캡슐화(Encapsulation)

 캡슐화란 객체의 필드(field)와 메서드(method)를 하나의 클래스로 묶는 것을 말합니다. 이를 통해 외부 객체로부터 필드와 메소드를 보호할 수 있으며 외부의 잘못된 사용으로 객체가 손상되지 않도록 합니다.  자바에서는 접근 제한자(Access Modifier)를 이용해 객체의 필드와 메소드의 사용 범위(접근 여부)를 제한합니다. 캡슐화는 프로그램의 구성요소를 분리하는 데 도움이 되며 개발, 디버깅 및 테스트가 용이해집니다. 

 

2. 상속(Inheritance)

 객체 지향 프로그래밍의 주요 특징 중 하나인 상속은 상위클래스(super class)의 필드와 메소드를 하위클래스(sub class)가 물려받아 새로운 클래스를 정의할 수 있는 것을 의미합니다. 상위클래스는 부모클래스(parent class)혹은 기초클래스(base class)라고도 하며 하위클래스는 자식클래스(child class) 혹은 파생클래스(derived class)라고도 합니다. 

 상속은 기존에 작성된 클래스(상위클래스)를 재사용 함으로써 코드의 중복을 줄여주고, 하위 클래스의 빠른 작성을 도와주며, 상위클래스의 수정이 모든 하위클래스에 영향을 주기 때문에 유지보수에도 용이합니다. 또한 클래스간 계층구조가 형성되어 다형성의 문법적 토대를 마련합니다.

 

3. 다형성(Polymorphism)

 다형성은 하나의 객체가 여러 자료형 타입을 가질 수 있는 것을 말합니다. 자바에는 컴파일 타임 다형성(compile time polymorphism)과 런타임 다형성(runtime polymorphism)의 두 가지 유형의 다형성이 있으며, 다형성은 메서드 오버로딩과 오버라이딩으로 구현할 수 있습니다. 

https://www.scientecheasy.com/2020/02/polymorphism-in-java.html/

 

 

 

 

+) 참고 (다형성)

 

Java Polymorphism (With Examples)

Polymorphism is an important concept of object-oriented programming. It simply means more than one form. That is, the same entity (method or operator or object) behaves differently in different scenarios. For example, The + operator in Java is used to perf

www.programiz.com

 

 

Polymorphism in Java - javatpoint

Polymorphism in java with java compile time polymorphism and java runtime polymorphism or java dynamic method dispatch with suitable example and java polymorphism with multilevel inheritance.

www.javatpoint.com

 

 

Compile time, Runtime Polymorphism in Java OOPs Example - Scientech Easy

Learn compile-time, runtime polymorphism in java with realtime example program, types of polymorphism in java: static polymorphism, dynamic polymorphism,

www.scientecheasy.com