📗 객체 지향 프로그래밍
객체 지향 프로그래밍에서는 모든 데이터를 객체 취급 하며 이러한 객체가 프로그래밍의 중심이 된다.
객체란 우리가 인식할 수 있는 사물이라고 설명할 수 있다. 이런 객체의 속성과 행동을 구체화하는 형태의
프로그래밍을 객체 지향 프로그래밍이라고 한다.
✅ 객체 지향의 특성
- 캡슐화 : 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것 외부의 접근으로 부터 객체를 보호한다.
자바는 클래스를 이용해 캡슐화를 시도한다. 메소드와 필드는 모두 클래스 내 구현한다.
- 상속 : 상위 개체의 속성을 하위 개체가 모두 가지는 것을 말함
자식 클래스가 부모 클래스의 속성을 물려 받고 기능을 확장하는 것
- 다형성 : 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현
메소드 오버로딩 : 같은 이름이지만 다르게 작동하는 여러 메소드
메소드 오버라이딩 : 슈퍼 클래스의 메소드를 서브 클래스마다 다르게 구현하는 것
✅ 객체 지향의 목적
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);
---> 김애옹
'Java' 카테고리의 다른 글
자바 : 객체 배열과 메소드 (0) | 2024.02.09 |
---|---|
자바 : 생성자 (0) | 2024.02.07 |
자바 : 배열과 예외 처리 (0) | 2024.02.05 |
자바 : 자바의 데이터 타입 (0) | 2024.02.05 |
자바 : 자바의 태동 (0) | 2024.02.04 |