java

14. 객체(Object)-1. 객체 지향 프로그래밍

dalc3154 2025. 2. 21. 13:56

Java는 객체 지향 프로그래밍(OOP: Object-Oriented Programming) 언어

객체란?

데이터(속성)와 해당 데이터를 처리하는 기능(메소드)를 포함하는  프로그래밍의 기본 단위

객체의 예시

커피 자판기가 있으면,

데이터(속성)는 커피의 종류, 커피의 가격, 커피의 재고 등등

기능(메소드)은 커피를 제조, 재고를 관리, 가격을 설정 등등 

 

객체 지향 프로그래밍의 주요 개념

1. 클래스(Class)

객체를 생성하기 위한 템플릿(틀). 데이터(속성)와 메소드(기능=행동)을 정의

2. 객체(Object)

클래스의 인스턴스. 실제로 메모리에 할당되어 동작하는 구체적인 엔티티

엔티티란?

1)데이터의 집합을 의미한다.

2)저장되고, 관리되어야하는 데이터이다.

3)개념, 장소, 사건 등을 가리킨다.

4)유형 또는 무형의 대상을 가리킨다.

3. 상속(Inheritance)

한 클래스(부모)의 속성과 메소드를 다른 클래스(자식)가 받아서 사용하는 기능

4. 다형성(Polymorphism)

같은 메소드 호출이 다른 클래스의 객체에 대해 다른 방식으로 실행 가능

5. 캡슐화(Encapsulation)

객체의 데이터를 외부로부터 숨기고, 내부의 메소드를 통해서만 해당 데이터를 조작할 수 있게 하는것

6. 추상화(Abstraction)

복잡한 세부사항을 숨기고 사용자에게 필요한 정보만을 제공

 

객제 지향 프로그래밍의 장점

재사용성 증가, 유지 보수성 증가, 확장성 증가

 

Java에서의 객체 지향 프로그램

코드의 모든 구조가 객체로 표현 가능 >> 프로그램의 유연성가 모듈성 증가

'java' 카테고리의 다른 글

14. 객체(Object)-3. 클래스의 구조  (0) 2025.02.21
14. 객체(Object)-2. 클래스와 객체  (0) 2025.02.21
실습) 동적 배열 활용2  (0) 2025.02.20
실습) 동적 배열 활용1  (0) 2025.02.20
13. 배열(Array)-5  (1) 2025.02.20