Object(객체)
사전적 의미 - 눈에 보이는 모든 것
Java에서의 의미 - 모든 대상을 상태와 행동으로 구분할 수 있는 것(추상화)
상태를 변수로써, 행동을 메소드로 프로그램화 시킨다.
객체와 클래스
- 실제로 활용하는 것은 객체다.
- 클래스 안에서 객체는 생성된다.
- 하나의 클래스에서 여러 개의 객체를 만들 수 있다.
- 클래스와 객체는 다르다.
ex> 붕어빵과 붕어빵틀
객체의 생성
new 연산자 + 클래스 이름 + (객체생성 데이터 값);
Account obj = new Account();
└객체를 얻는 변수└객체 생성하는 식
위 식에서 obj를 객체 또는 레퍼런스 변수라 한다.
C언어에서는 참조 변수라고도 한다.
객체의 주소값을 가지고 있어 접근 기능도 한다.
클래스는 객체를 생성하는 도구인 동시에 객체의 종류를 나타내는 데이터 타입이다.
class Account {...} -> 클래스(ex>붕어빵틀)
객체생성 : ac1(ex>붕어빵) - 변수,메소드 -> 메모리 생성
- 객체생성 수에 따라서 메모리가 생성된다.
- 새로운 객체생성에 따라서 새로운 메모리가 생성된다.
객체 초기화(멤버변수를 초기화)
- "." 을 통해 접근해서 멤버 변수를 초기화한다
ac1.accountNo = "1111-2222";
메소드를 통해서 접근하는 방법
- setter 메소드를 이용해서 멤버변수를 초기화
public void setAccountNo(String accountNo) {
this.accountNo = accountNo;
}
ac.setAccountNo("8888-9999");
생성자를 통한 멤버 변수 초기화 방법
- 생성자는 새로운 객체가 생성될 때 객체를 초기화하기 위해 자동으로 호출 되는 것
생성자 정의 방법
public 클래스이름(인자들) { 객체 초기화 내용 }
디폴트 생성자
- 새로운 객체를 생성할 때 생성자들 호출하기 때문에 반드시 생성자를 정의해주어야 한다.
Account ac1 = new Account();
->public Account() { } //디폴트 생성자
->JVM이 기본적으로 생성해준다.
but, 인자가 있는 생성자는 자동으로 디폴트 생성자를 생성해주지 않는다.
오버로딩
- 같은 클래스 안에서 이름이 같은 메소드나 생성자를 구별하기 위한 방법
오버라이딩
- 상속 관계의 클래스에서 이름과 인자가 같은 생성자나 메소드를 새로 정의 해 주는 것
This
- 현재 자기자신의 객체이다.
- A 클래스 안에 this가 있으면 A 클래스는 this의 해당 클래스가 되는 것이다.
- this함수는 생성자 안에서 첫번째 줄에서 다른 생성자를 호출한다. 단, 맨 앞에 먼저 써줘야한다.
사용법의 예 : this(name, id, password);
접근제어자
- 접근을 제어하기 위한 것
public > protected > default > private
Private
- 같은 클래스 내에서만 접근을 허락한다.
setter & getter 메소드
Default
- 같은 폴더 안에서만 접근을 허락한다.
Protected
Public
- 누구나 접근을 허락한다.
final -> 이 메소드나 변수를 더이상 오버라이딩하지 말란 말!!!
인자가 무엇이고, 리턴형이 무엇인지..
메소드 안에서 또 다른 메소드를 사용가능
'Study > Java' 카테고리의 다른 글
[java] for문의 활용 (0) | 2019.05.15 |
---|---|
[java] 객체지향 실습 (0) | 2019.05.14 |
[java] 조건문, 반복문 예제 (0) | 2019.05.14 |
[java] 조건문, 반복문 (0) | 2019.05.14 |
[java] 기초, 변수, 형변환, 연산자 (0) | 2019.05.14 |