현 블로그는 모바일 환경이 아닌 PC환경에 최적화 되어있습니다.

 Mir의 운영환경

클래스의 개념

데이터와 처리동작을 하나로 모아놓은 것
데이터 = 필드
처리동작 = 메소드

필드 & 메소드 = 클래스의 맴버

클래스의 정의
class Book {
int price;
int num;
String title;  --- 필드

int sum() {
return price * num ;
} -------- 메소드

오브젝트 -
클래스는 변수에 대한 형과 같은 것으로(설계도) 그 자체에 값을 저장할 수 없음
그래서 클래스를 바탕으로, 값을 저장할 수 있는 변수와 비슷한것을 만듬 그것을 오브젝트(맴버변수)라고 함

[북class]  ---  book1 오브젝트
                ---  book2 오브젝트

! 클래스에서 오브젝트를 생성하는 것을 인스턴스화 한다고 함
! 하나의 클래스에서 몇 개라도 오브젝트를 생성할수 있음

-----

오브젝트를 만드는 방법

Book클래스에서 book1이라는 오브젝트는 

Book book1;
book1 = new Book();

형식으로 만듬

다음과 같이 한번에 기술할수 있음
Book book1 = new Book( ) ;

클래스를 정의하고 오브젝트를 생성하기까지의 흐름

class Student{
String name;
String grade;
String num;
.
.
.

class Score{
  -------  학적부를 만듬 





필드 = 클래스 안의 변수 
같은 오브젝트 내의 필드를 참조하거나 대입하기 위해서는 필드명을 그대로 기술 a = 5
다른 오브젝트의 필드를 참조하거나 대입하기 위해서는 ' . (피리오드)'를 사용하여 기술 x.a = 5

메소드 =프로그래머가 준 값을 지시대로 처리 결과를 내보내는 상자
처리할 재료가 되는 값을 인수(파라메터)라고 하며, 결과값을 반환값(리턴값)이라고 한다.

변환값과 인수를 갖지 않는 메소드  - void


동일한 오브젝트 내의 메소드를 호출

void a(int x)
    System.out.println("인수는" +x);

void b(){
a(5);
}}

class A {
void a( ) {
System.out.println("Hello");

void b() {
a ( ) ;


반환값을 이용할때의 메소드

다른 오브젝트내의 메소드를 호출하기  .(피리오드)를 사용하여 기술



오버로딩

오버로딩이란 하나의 클래스 내에 인수의 개수나 형이 다른 동일한 이름의 메소드를 여러개 정의 하는것
int add( int a) , int add(int a, int b), double add(double a, double b) -이런식으로

오버로딩된 메소드를 호출할때에는 호출할때 주어진 인수와 형에 따라 알아서 호출됨


생성자 
생성자란 오브젝트 생성과 함께 자동적으로 호출되는 특수한 메소드

인수가 있는 생성자 와 인수가 없는 생성자로 나눠진다.

!필드를 초기화할때 등으로 이용할수 있음
!생성자에는 반환값이 없음
!생성자는 클래스와 같은 이름

디폴트생성자
생성자를 기술하지 않을때 인수가 없는 생성자는 자동으로 만들어짐 
!기술하지 않을때임 아무생성자나 기술을 하면 자동으로 만들어지지 않음

복제생성자
동일한 클래스의 오브젝트를 인수로 받아서 대응하는 필드에 값을 대입하는 생성자


main( )  메소드는 프로그램을 실행할때 최초로 호출되는 메소드로 하나의 클래스에 한개마 기술 할수 있음

public static void       main(String[] args) {}
-------------                          ---------------
메소드의 수식자              커맨드라인 인수

어디에 기술하든 main() 메소드가 제일 먼저 실행됨 .

main( ) 메소드의 인수는 String 클래사의 배열로 되어있음.
이 인수는 커맨드 라인으로부터 입력을 받음.

 

+ Recent posts