본문 바로가기
IT/JAVA

[Java]Class/object,method,class,생성자

by 행복한 용용이 2020. 7. 2.
반응형

**객체 (Object)

class : class는 객체를 생성하기 위한 틀.

class가 (메모리) 버쳐머신에 올라가있는 상태 : 객체

Object (class)(객체) 강사님

-속성(field)(특징) 머리색,키,몸무게 ..

-기능(method) 달린다, 먹는다, 강의한다

object (class) : 자동차 (Car)

속성 (field)

기능 (method)

차이름 (carName)

가속 (speedUP)

색장 (color)

감속 (speedDown)

제조사 (maker)

정지 (stop)

속도 (speed)


**method : 함수, 기능, 행동/

형식)

접근제어자 ReturnType methodName([args]) {

실행문;

실행문;

return 값;

}

args : 인자값(생략 가능)

접근제어자 : private / default / protected / public (변수에서는 전역변수만 접근제어자를 쓸 수 있다.)

ReturnType : return 값(실행결과)의 Data 타입 - 결과가 숫자라면 int 문자면 char 문자열이면 string..

return 할 값이 없을 경우 void


** class

형식)

접근제어자 class ClassName {

속성

------------------------------------------

메소드

 

}

접근제어자 : privat, protected 불가, public/public쓰지 않음(default) 두개만 된다.

-변수

-void : return할 값이 없을 경우

speedUp 했을 때 얼마나 높아지는 지 지정하고 싶다면 void가 아닌 int를 쓰고 speedup(50)<이렇게 불러오면 됨.


** Class의 사용. (참조형(reference) Data Type)

1. 선언

형식)

접근제어자 ClassName 객체명;

예)

public String carName;

private Car car;

GBB gbb;

2. 생성: memeory에 할당

형식)

객체명(주소) = new ClassName;

예)

carName = new String ("쏘나타");

car = new Car();

gbb = new GBB();

 

>>>>>>>>>>1,2 동시에

접근제어자 ClassName 객체명 = new ClassName();

public String carName = new String("쏘나타");

private Car car = new Car();

GBB gbb = new GBB();

3. 사용

형식)

객체명. 변수 //get

객체명. 변수 = 값; //set

객체명. method();

예)

int len = carName.length();

car.speed = 100;

System.out.println(car.speed);//100

gbb.game();


**생성자(Constructor)

1. 객체 생성시 최초로 호출. 단, new 연산자와 함께 호출 //Car class 자체로는 생성자 X ->CarUser에서 car1 = new Car();를 쓴 순간 생성자 생김(default생성자)

2. 객체 생성시 객체의 초기화 작업. // 내일 자세히 배움 // public Car(String a){}

3. 사용자 정의 생성자가 없을 경우 default 생성자가 생력되어 있다.

D C : public ClassName() { } //default 생성자

사용자 정의 생성자를 하나 이상 만들 경우 default 생성자는 사라진다.

4. Class의 이름과 같은 메소드의 일종.

Return Type이 없다.

형식)

접근제어자 ClassName([args]){ }

5. method overloading (다중정의)

생성자는 method의 종류 중 하나이기 때문에 method overloading 가능

같은 이름의 메소드를 여러개 정의 하는 것.

단, 인자값의 갯수가 다르거나

타입이 달라야 한다.

예)

public void a() { }

public void a() { } //X

public void a(int x) { } //0

public void a(int y) { } //X

public int a() { } //X

public void a(int x, String s) { } //0

public void a(int x, int y) { } //0

public void a(String s, int y) { } //0

예) System.out.println 보면 같은 println인데 데이터 타입에 따라 오버로딩 되어있음.

6. this : 자기클래스 참조변수

super : 상위클래스 참조변수

this() : 자기클래스 생성자 호출

super() : 상위클래서 생성자 호출

**지역변수는 사용하기 전에 초기화를 꼭 해야한다.

**하지만 전역변수는 초기화를 안하면 문자는 null로,숫자는 0으로 표시된다.

 

[출처] 빡쏘끼룩

반응형

'IT > JAVA' 카테고리의 다른 글

[Java]생성자 사용  (0) 2020.07.04
[Java] 함수의 사용  (0) 2020.07.03
[Java]제어문/반복문(while문,do~while문)/break,continue,return  (0) 2020.07.01
[Java]제어문/반복문(for문)  (0) 2020.06.29
[Java]제어문/조건문(Switch 문)  (0) 2020.06.26