자바는 대표적인 객체지향(Object Oriented Programming)언이입니다.
C언어와 같은 절차지향언어와 다른점은 자바는 모든 데이터를 객체로 취급하여 객체 중심으로 작성된다는 점이 있습니다.
OOP의 장점에는 코드의 확장성과 재활용성, 유지보수가 절차지향에 비해 개선되는 점이 있습니다.
이러한 객체를 만들고 구성하는 개념들을 알아보겠습니다.
- 객체(Object)란?
객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있는 다른 것과 식별 가능한 것을 말합니다..
예를 들어 물리적(유형)으로 존재하는 자동차, 컴퓨터, 사람과 / 추상적(무형)으로 존재하는 강의,주문 등이 모두 객체가 될 수 있습니다.
예를 들어 사람이라는 객체는 이름, 나이, 성별 등과 같은 속성과 먹다, 걷다, 자다 등의 동작을 가진다. Java에서는 이러한 속성들을 필드(field), 동작들을 메소드(method)라고 부른다. |
- 클래스(Class)란?
클래스(Class)란 Java 프로그램에서 객체를 생성하기 위한 일종의 설계도 입니다. 객체가 가지는 속성(필드)과 동작(메소드)으로 이루어져 있다. 흔히 붕어빵(객체)을 만들기 위한 붕어빵틀(클래스)이라고 비유를 합니다.
클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다.
즉, 필드(field)란 클래스에 포함된 변수(variable)를 의미합니다.
또한, 메소드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있습니다.
필드: 객체의 데이터가 저장되는 곳이다. 생성자: 객체가 실제로 생성될 때 초기화 역할을 담당한다. 메소드: 객체의 동작에 해당하는 실행 블록이다. |
차 라는 객체를 클래스로 나타내면 다음과 같습니다
package ipone;
public class ipone {
//필드(field)
String modelName;
String color;
int price;
String storageCapacity; //저장용량
//생성자(Constructor)
ipone(String modelName, String color, String storageCapacity, int price ){
this.modelName = modelName;
this.color = color;
this.storageCapacity = storageCapacity;
this.price = price;
}
//메소드(method)
void start(){
System.out.println("전원이 켜졌습니다");
}
void stop(){
System.out.println("종료 하겠습니다");
}
void alarm(){
System.out.println("배터리가 부족합니다");
}
}
- 인스턴스(Instrance)란?
클래스가 붕어빵 틀이라면 그 틀을 통해 생성된 객체(붕어빵) 하나하나를 해당 클래스의 인스턴스(Instance)라고 부른다. 즉, 인스턴스란 현실의 객체를 소프트웨어 내에서 구현한 실체라고 볼 수 있다. 이렇게 생성된 인스턴스들은 각자 고유의 특성을 가지고 독립적으로 존재한다.
package ipone;
public class iponeMain {
public static void main(String[] args) {
// 객체 생성 = 인스턴스
ipone i1 = new ipone("ipone 13 Pro Max", "black", "256GB", 1630000);
ipone i2 = new ipone("ipone 13 mini", "pink", "512GB", 1360000);
//메소드 사용
i1.start();
i1.stop();
i1.alarm();
i2.start();
i2.stop();
i2.alarm();
}
}
'JAVA' 카테고리의 다른 글
[Java] 자료구조(선형구조와 비선형구조) (0) | 2022.08.28 |
---|---|
[Java] 상속의 개념과 코드 예제 (0) | 2022.08.27 |
자바 이클립스 프로젝트 파일열기(import) (0) | 2022.08.25 |
반복문(while/ do~while) 예제 (0) | 2022.08.21 |
자바 변수,연산자, 조건문 예제 (0) | 2022.08.21 |