**객체 (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 |