- 컴퓨터 프로그래밍 패러다임 중 하나
- 데이터와 해당 데이터를 처리하는 기능을 하나의 논리적인 단위인 객체로 묶어서 처리하는 방식
Java 언어는 OOP 개념을 기반으로 설계된 언어이며, 객체지향 프로그래밍을 지원합니다.
- 실제 세계의 개체나 추상적인 개념을 나타내는 개체
- 데이터(속성)와 메소드(기능)를 포함하는 것
- 독립된 단위로 존재
- 다른 객체와 상호작용하면서 동작
클래스 이름을 사용하여 객체를 생성할 수 있습니다.
ClassName objectName = new ClassName();
클래스_이름 객체_이름 = new 클래스_이름();
new 다음에 나오는 클래스_이름()은 생성자이다.
생성자는 클래스 이름과 동일한 이름을 가진 메소드이며, 객체를 초기화하기 위해 사용된다.
ClassName objectName = new ClassName(p1, p2);
ClassName : 객체를 생성할 클래스의 이름
p1, p2 : 생성자에 전달되는 매개 변수
객체를 복제하여 새로운 객체를 생성할 수 있습니다.
ClassName Name1 = new ClassName();
ClassName Name2 = (ClassName) objectName1.clone();
ClassName : 객체를 생성할 클래스의 이름
Name1 : 복제할 객체
objectName2 : 새로 생성된 객체
객체는 캡슐화, 상속성, 추상화, 다형성이라는 4가지 주요 개념을 포함합니다.
객체의 데이터와 메소드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하게 하는 것
부모 클래스에서 정의된 데이터와 메소드를 자식 클래스에서 상속받는 것
복잡한 시스템, 개념, 현상 등을 단순화하여 핵심적인 요소만 추출하는 과정
같은 이름의 메소드가 다른 형식의 인자를 받을 수 있는 것
객체 지향 프로그래밍은 객체를 중심으로 한 소프트웨어 개발 방법론으로 소프트웨어를 보다 유지보수 가능하고 확장 가능하게 만들어줍니다.