주요 특성
1. abstraction 추상화
ㄴ 객체와 프로시저들의 공통의 특질을 골라내는 과정
필드와 메소드를 구분!
ex) 삼각형 원--> 도형
기능
알고리즘을 한번만 작성하고 여러 상황에서 쓰일 수 있도록 한다.
객체
하나의 클래스에 관련 있는 속성과 메서드를 그룹짓는다.
2. information hiding
객체 데이터를 외부에서 접근하지 못하도록 하는 방법
왜? 할까?

외부에서 데이터에 접근할 경우 잘못된 데이터를 입력해도 이를 체크할수없다.
잘못된 값이 입력될 확률이 없다면 인포메이션 하이딩 할필요가 없다.

3.encapsulation
필드와 메소드를 외부에 공개하지 않는것 (캡슐화)
구현된 클래스의 세부사항을 숨긴다.
장점 : 클래스 내부를 알필요없이 쓰기만 하면된다 쉬워짐
단점 : 숨겨진 기능을 변경하고자 할 때 처리하기 어려워진다
상속받고 재정의 하기 어려워질수 있음


자바에서 oop 3가지 특성
1.캡슐화
2.상속
3.다형성




오브젝트와 클래스
오브젝트는 메모리에 생성
커피,컵등등 사물 만져지는 것은 전부 오브젝트라고 부른다.
오브젝트는 그룹핑 할 수 있습니다.

클래스는 메모리에 로딩
사물에 대한 설계도 : 클래스라고 합니다
클래스 쥑이네
설계도가 있다면 설계도를 이용해서 사물을 만들어 낼수 있음


클래스를 이용해 오브젝트를 만들고 이가 있는 곳을 메모리(힙)이라고 함.


클래스
1.클래스는 객체가 포함하고있는 data를 나타낸다.
2..클래스는 객체가 보여주는 기능을 나타낸다.

즉 클래스는 객체가 포함하고 있는 data와 보여주는 기능을 나타낸다.


오브젝트
필드와 메소드 설계도(클래스)에 의해 정해진 값과 기능

필드 : 속성 값
메소드: 행동

객체간 관계
객체는 혼자 존재하지 않습니다.

객체관계
1 is a :
삼각형은 도형이다. 사각형은 도형이다 --> ~~는 ~~ 이다.
삼각형은 종이에 그릴 수 있는 속성이 있다.
사각형은 종이에 그릴 수 있는 속성이 있다.--> darwable();
Triangle t=new Triangle();
Shape s=(Shape)t;
Drawable d=(Drawable)t;

2.has a :
삼각형은 세개의 점을 가지고 있다
사각형은 네개의 점을 가지고 있다.
Triangle 은 point를 가지고 있다.
t.point(); ~~는~~를 가지고있다.



오브젝트 멤버를 참조하는 방법 : 닷 노테이션.

상속 inheritance

상속은 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능
상속을 통해서 기존의 클래스를 상속받은 하위 클래스를 이용ㅇ해
프로그램의 요구에 맞추어 클래스를 수정할 수 있고 클래스 간의 종속 관계를 형성함으로써
객체를 조직화 시킬 수 있다.

다형성 polymorhism

다형성은 많은 다른 형태를 가질 수 있는 성질을 말한다.ㅏ
예를들어 manager 클래스는 employee 성질을 가질 수 있음.

하나의 객체는 오로지 하나의 행태만을 가진다.




+ Recent posts