본문 바로가기

Java

자바 : 클래스와 객체

728x90

📗 객체 지향 프로그래밍

객체 지향 프로그래밍에서는 모든 데이터를 객체 취급 하며 이러한 객체가 프로그래밍의 중심이 된다.

객체란 우리가 인식할 수 있는 사물이라고 설명할 수 있다. 이런 객체의 속성과 행동을 구체화하는 형태의

프로그래밍을 객체 지향 프로그래밍이라고 한다. 

 

✅ 객체 지향의 특성

- 캡슐화 : 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것 외부의 접근으로 부터 객체를 보호한다.

 

자바는 클래스를 이용해 캡슐화를 시도한다. 메소드와 필드는 모두 클래스 내 구현한다.

 

- 상속 : 상위 개체의 속성을 하위 개체가 모두 가지는 것을 말함

자식 클래스가 부모 클래스의 속성을 물려 받고 기능을 확장하는 것

 

- 다형성 : 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현

 

메소드 오버로딩 : 같은 이름이지만 다르게 작동하는 여러 메소드

메소드 오버라이딩 : 슈퍼 클래스의 메소드를 서브 클래스마다 다르게 구현하는 것

 

✅ 객체 지향의 목적

1. 소프트웨어의 생산성 향상- 상속, 다형성, 객체, 캡슐화 등 소프트웨어 재사용을 위한 여러 장치가 코드에 내장됨이는 소프트웨어 재사용과 부분 수정을 빠르게 할 수 있게 하고소프트웨어를 다시 만드는 부담을 대폭 줄여줌

 

2. 실세계에 대한 쉬운 모델링

📗 클래스

객체를 만들어내기 위한 설계도나 틀을 의미함

클래스에는 객체의 속성(state) - 필드, 행동(behavior) - 메소드를 포함한다.

 

✅ 필드

클래스에 포함된 변수를 의미

✅ 메소드

어떤 특정 작업을 수행하기 위한 명령문의 집합

 

클래스를 가지고 여러 객체를 생성하여 사용한다.

 

📗 객체

객체란 클래스의 모양 그대로 찍어낸 실체를 의미하며 인스턴스라고도 함.

객체 내 외부 데이터에 대한 보호와 외부 접근을 제한 한다. 

<클래스>

class Animal{ 

    String name;
    int type;
	
    void speak();
    void eat();
    ...

}


<객체>

Animal lion = new Animal();
Animal cat = new Animal();
...

 

 

📗 객체 생성과 접근

1. 레퍼런스 변수를 선언한다.

Animal cat;

 

2. new 연산자를 사용해 객체를 생성한다.

cat = new Animal();

 

3. 객체 멤버에 접근한다.

cat.name = "김애옹";
cat.type = "노르웨이 숲";

cat.eat() = "참치";
cat.speak() = "애옹";



String catName = cat.name;
System.out.println(catName);
---> 김애옹

 

728x90
반응형

'Java' 카테고리의 다른 글

자바 : 객체 배열과 메소드  (0) 2024.02.09
자바 : 생성자  (0) 2024.02.07
자바 : 배열과 예외 처리  (0) 2024.02.05
자바 : 자바의 데이터 타입  (0) 2024.02.05
자바 : 자바의 태동  (0) 2024.02.04