1. 객체(Object)
: 속성과 행위로 객체를 표현. 같은 객체라도 속성과 행위로 구분.
1) 속성(field)
2) 행위(Method)
: return 값
Ex)사람(객체) – 이름(속성) – 앉아있다.(행위)
교실(객체) – 인원(속성) – 공부하고있다.(행위)
CLASS
: 클래스는 객체를 만드는 틀이다.
1. 객체지향특성
(1) 상속성 (inheritance)
: 상속은 (계층구조일때) 부모의 field와 Method를 물려받는 것이다.(공유)
*상속성의 이유 : 부모Class의 동일한 부분을 상속받음으로써 개발속도 향상.
*방법 class “classname” extends “부모classname”
(2) 다형성 (polymorphism)
: 다형성은 Method의 상속을 사용하는 개념 (상속의 개념이지만, Sub Class의 특징으로 물려받음)
Ex) 그리다(Method) – Class(도형) : 부모의 필드와 메소드를 상속
삼각형 그리다, 사각형을 그리다 : Class의 따라서 Method의 세부내용도 달라짐.
*오버라이딩 : 상속관계에서 상위(Super)Class에서 정의된 내용을 하위에서 재정의.
*오버로딩 : 하나의 Method를 여러 번 정의하는 것.
(3) 은닉성 (Information Hiding)
(4) 캡슐화 (Encapsulation)
2. 자바의 변수
(1) 레퍼런스 형(Reference Type / 객체형 / 참조형) 변수
(2) 기본형 (primitive type) 변수
n 객체지향특성(Detail)
(1) 상속성 (inheritance) (=재사용성, 확장)
:상위 클래스에서 정의한 속성을 재사용, 확장하여 개발속도를 개선시키려고 만든개념.
서로 다른 Class들이 유사한 속성을 공유하기위해 추상방법으로 두가지가 존재.
1. 일반화(Generalization)
: Super Class의 특성을 Sub Class가 상속받는다는 특성을 “일반화”라고함.
2. 특수화(Specialization)
: Sub Class가 Super Class와 비교했을 때 특수화 하는 경우를 “특수화”라고함.
Ps. 상속을 위해서 extends 키워드 사용
예) [public/abstract/final] class 서브클래스 이름 extends 슈퍼클래스 이름 {}
(2) 다형성 (polymorphism) 4조
: 여러 개의 클래스가 같은 메시지에 대해서 서로 다른 각자의 방법으로 작동할 수
있도록 하는 특성
하나의 데이터 유형의 변수로 여러 유형의 객체를 참조가능
변수가 참조하는 객체의 유형에 맞는 메서드를 자동으로 호출할 수 있는 능력을 의미
하나의 인터페이스를 이용하여 다양한 구현을 제공한다는 의미 (효율성증대)
1. 다형성을 위한 필요조건 (상속관계)
:서브클래스 객체에서 작동
서브클래스 객체의 메서드 호출은 슈퍼클래스 유형의 변수를 통해야 함
호출된 메서드는 슈퍼클래스의 멤버이어야 함
슈퍼클래스와 서브클래스에서 메서드의 특징이 같아야 함
(3) 은닉성
: 데이터의 훼손방지 및 보안을 위해서 외부 클래스의 접근을 제한하는 특성
객체의 데이터와 메서드는 외부에 노출하지 않고,
인터페이스를 통해 값을 입력 받아 수행 후 결과만 제공
메서드의 수행 결과만을 사용하므로 객체의 이식성과 호환성이 좋음
데이터의 변경이 발생되어도 다른 객체에 영향을 주지 않으므로 독립성이 보장됨.
<적용법>
멤버변수를 private(접근제한자:클래스끼리만)으로 선언
private 멤버변수에 접근할 수 있는 setter/getter 형태의 메서드를 public로 선언
public void set(멤버데이터타입 인자명) { 멤버변수명 = 인자명; }
public 멤버데이터타입 get { return 멤버변수명 }
(4) 캡슐화 (Encapsulation)
클래스의 내부 정의에 대해 외부에서 볼 수 없도록 하는 것이 특징이다.
클래스에 정의된 메서드(Interface)만 사용할 수 있으며,
내부의 속성과 구현은 볼 수 없게 디자인한다.
캡슐화는 객체를 외부의 부정적인 방법(또는 잘못된 방법)으로 사용하는 것을 방지하며,
사용자가 클래스의 내부에 대해 알지 못하는 상황에서도 외부에 공개된 메서드(Interface)를
통해 객체사용을 가능하게 해준다.
Ex) 약 – 알약은 캡슐화 되어있어 뭐가 들어있는지 모름.
변수(variable) <>상수
:
1) Reference Type : 참조형
- new 생성자();{ }
- new 와 "생성자"가 만나면 객체생성.
- "=" 대입연산자 : 오른쪽에있는것을 왼쪽에 넣으라는.
2) Primitive : 기본형
<Class 기본개념>
속성(field)Type "속성name";
void "Method name"(){
“내용”;
}
}
<Class 상속성 개념>
public static void main(Sting[]args){
"Classname" "변수" = new "SubClass name"();
변수.Method();
변수.Method();
}
}
'자바 기본 공부 > 기초 이론' 카테고리의 다른 글
인터페이스 복습, 배열 , 예외처리 (0) | 2009.06.23 |
---|---|
연산자 종류, 반복문, 조건문, 제어의이동, 인터페이스 개념 (0) | 2009.06.23 |
수정제한자 , 식별자 , shift 연산자 (0) | 2009.06.23 |
변수의 종류, 오버로딩과 오버라이딩 , static의 의미 (0) | 2009.06.23 |
자바기초 - 자바실행절차, 스택과 힙. (0) | 2009.06.23 |