6일차 객체지향 프로그래밍.
6일차 객체지향 프로그래밍
객체
현실에 존재하는 실체가 인간의 사고 과정을 통해 머리 속에 정리된 개념
객체의 필요조건
상태 (Status) - 객체를 설명하는 특성
정의된 행위 (defined-behavior) - 동사로 명명이 가능하다
유일한 식별자 (unique identity) - 객체만이 가지는 고유한 구분인자.
Class
객체에 대한 공통적인 내용을 실제로 사용하기 위해서 class라는 형태로 표현
정의 방법
class{ 속성(변수) 행위(메소드) }
ex )
class Example_test {
int var1 ; //변수
public static void main(String) { //메소드
}
}
클래스의 속성
클래스에서 파생된 객체들이 공통적으로 가지는 성질로 특정한 데이터 타입의 *변수*를 말함
클래스의 행위
클래스에서 파생된 객체들이 공통적으로 가지는 행위,동작을 정의하며, *메소드*로 표현됨
Ex)
class 맹수 {
//변수 지정
String 이름;
String 사냥감;
String 먹이량;
//메소드 지정
public void 달리다() { ~ }
public void 잠을 잔다() { ~ }
}
Method
객체의 행위를 정의한 것으로 요청을 받아서 그 결과를 알려주는 역할
Method 정의 방법
* sum 이라는 메소드는 i+j 를 하는데 리턴타입은 int 다
정보은닉
클래스 내부에 존재하는 자료를 다른 클래스에 않보이게~
접근 지시자!
public : 모든 클래스에서 접근 가능함
없음(friendly) : 같은 패키지내에서만 접근가능함
protected : 상속관계에서만 접근 가능함
private : 자신의 클래스에서만 사용 가능함
Method Overloading
한 클래스내에서 같은 이름의 메소드를 정의한 것
* 단, 인자 타입과 개수가 달라야 함
Ex)
void makeMovie(String name, String type){
System.out.println(name+" 은 "+type+" 영화를 ");
}
void makeMovie(String name){
System.out.println(name+" 은 ");
}
Method Overloading
하나의 makeMovie 라는 객체 명으로 여러기능을 제공함 지존;
<textarea name="code" class="brush:cpp;">
</textarea>
여기서 부터는 코딩 내용. 간간히 보면서 복습하도록 하자.
Actor.java
접근지시자
Actor_Test_Hideinfor.java