객체지향 프로그래밍
: 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
: 클래스 > 처리 및 데이터 부분을 객체로 생성해 사용
: JAVA, C++, C# 등 대표적 언어 존재
클래스와 객체 & 인스턴스
클래스
: 객체를 정의해 놓은 것
: 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀로써 연관되어 있는 변수와 메서드의 집합
객체
: 클래스를 기반으로 생성된 실체로서 실제 프로그램에서는 사용되는 데이터를 의미
: 사물 또는 개념
: 객체의 속성과 기능에 따라 따름
[클래스 객체는 아래 링크 참고]
https://kcode-recording.tistory.com/79
[Java] About 클래스와 객체
[클래스] : 객체의 설계도 또는 틀 (Ex. 붕어빵을 만드는 붕어빵 틀) : 객체를 정의해 놓은 것으로 객체를 생성하는데 사용 : 데이터와 함수의 결합 (구조체 + 함수) * 구조체 : 서로 관련된 여러 데
kcode-recording.tistory.com
인스턴스
: 클래스를 기반으로 생성된 객체가 메모리에 할당되어 실제로 사용될 때를 말함
: 인스턴스는 객체에 포함됨
: 추상적인 개념과 구체적인 객체 사이에 초점을 맞출 때 사용되며, 클래스를 기반으로 소프트웨어 세계에 구현된 실체
객체 vs 인스턴스
: 객체는 타입으로 선언되었을 때
: 인스턴스는 객체가 메모리에 할당되어 실제로 사용될 때
객체지향 프로그래밍 특징
[장점]
1. 기본 프로그래밍언어와 크게 다르지 않음
: 기본 프로그래밍 언어에 몇가지 규칙을 추가
2. 코드의 재사용성이 높음
: 새로운 코드를 작성할 때 기존의 코드를 이용해 쉽게 작성 가능
: 상속을 통해 확장해서 사용 가능
4. 유지보수 용이
: 프로그램을 추가하거나 수정할 때 캡슐화를 통해 주변에 미치는 영향이 적어 유지보수가 쉽고 이로인해 매우 경제적
: 코드간의 관계를 맺어줌으로써 보다 적은 노력으로 코드 변경이 가능
5. 신뢰성 높은 프로그램 개발이 가능
: 제어자와 메서드를 이용해 데이터를 보호하고, 코드의 중복을 제거해 코드의 불일치로 인한 오류 방지가 가능
6. 협업에 용이
: 프로젝트를 독립적 객체로 분리 가능하여 여러 개발자와 협업 진행에 용이
7. 대형 프로젝트에 적합
: 클래스 단위로 모듈화하여 개발 가능하여 개발이 유연, 변경 용이성이 높음
: 분담의 효율을 높여주기 때문에 대형 프로젝트에 적합
'공부 자료 > 자바[JAVA]' 카테고리의 다른 글
[JAVA] StringBuilder란? (0) | 2023.11.07 |
---|---|
[JAVA] ArrayList 생성자 (0) | 2023.08.30 |
[JAVA] 문자열 구분 split (구분자 여러개/특수기호 등) (0) | 2023.08.19 |
[JAVA] 배열의 복사(System.arraycopy(), Arrays.copyOf) (1) | 2023.08.17 |
[JAVA] main 메서드 매개값 String[] args (자바 커멘드라인 입력) (0) | 2023.08.17 |