[2021-06-22]Java

SPIDER·2021년 6월 26일
0

Java 공부

목록 보기
5/14
post-thumbnail

5일차



객체 지향

객체는 속성(변수) 와 동작(메소드) 로 나눌 수 있는데

이런 속성과 동작을 하나의 객체로 묶고

객체 단위로 프로그래밍 하는것을 객체 지향 프로그래밍이라 부른다.

요새 인기있는 언어인 루비, 파이썬, 자바 등이 이에 속한다

은행 시스템 으로 예를 하나 들자면

A 라는 사람에 대한 클래스를 만들어보면

public class Person{

    String name;

    int age;

    int cash;

} 

로 Person이라는 클래스를 선언해줄 수 있다.

이 클래스안에는 이름(name), 나이(age), 현금(cash) 변수가 있다.

다시 돌아와 Bank 라는 클래스를 만들어보면

public class Bank{

    int balance;

}

로 Bank 클래스를 선언했다

여기서 두 클래스를 소유 계좌와 예금주 의 관계로 묶기 위하여

Person 클래스 안에

public class Person{

    String name;

    int age;

    int cash;

    Bank account; 

}  

처럼 Bank account; 로 관계를 표시해주면

두 클래스는 엮이게 된다.

또한 Bank 클래스에도

public class Bank{

    int balance;

   Person owner; 

}  

처럼 Person owner; 로 관계를 표시해주면

마찬가지로 두 클래스는 엮이게 된다.

이처럼 두 클래스를 엮을 때 클래스명이 마치 자료형처럼 쓰이게 된다.

이런식으로 프로그램을 객체 단위로 정리하고, 이 객체들끼리 엮으면서 프로그래밍 하는것이 객체 지향 프로그래밍이다.



다음은 Person 이라는 인물 클래스 와

BankAccount 라는 은행 계좌 클래스를 만들고

각 클래스에 맞는 인스턴스를 생성하여

두 인스턴스를 엮어주는 것을 진행한 결과 입니다.


따로 자바 파일을 만들어 각 클래스 명으로 저장을 하였고

각 클래스 안에 name, age, account 그리고 Owner, balance 로 변수를 만들었습니다

중요한 점은 account 와 Owner는 서로의 클래스명을 마치 자료형처럼 사용하여

엮어두었는데 이렇게 엮어두어야 나중에 인스턴스(객체)끼리 엮을 수 있습니다.

두 클래스에 맞게 인스턴스(객체)를 먼저 선언하였습니다.

위 사진에서는 Alex 와 a1이 인스턴스(객체)에 속합니다.

그 후 각 인스턴스에 값을 지정해주었고

마지막에 인스턴스 끼리 엮어주었습니다.



클래스와 인스턴스(객체)

크게 본다면 클래스는 설계도, 인스턴스는 설계도를 기반으로 만들어진 제품

이라고 볼 수 있습니다.

클래스는 양식(form)만 있는 느낌이라면 인스턴스는 그 클래스의 양식에 맞게

새로운 객체를 생성한 형태입니다.

profile
🕷기적을 만드는 개발 기록🕷

0개의 댓글