개발/JAVA

6일차 객체지향 프로그래밍.

Shuming 2015. 11. 27. 17:05
반응형

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 정의 방법

캡처.PNG

* 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.java



접근지시자


Actor_Test_Hideinfor.java




반응형