public class Animal { //동물이라는 클래스이다
public static void main(String[] args) {
Animal cat = new Animal(); //동물이라는 클래스를 객체로 생성한것이다.
}
}
new 는 객체를 생성할 때 사용하는 키워드이다. 이렇게 하면 Animal 클래스의 인스턴스(instance)인 cat, 즉 Animal의 객체가 만들어진다.
정확히 객체와 인스턴스란?
클래스에 의해서 만들어진 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? 이렇게 생각 해 보자. Animal cat = new Animal(); 이렇게 만들어진 cat은 객체이다. 그리고 cat이라는 객체는 Animal의 인스턴스(instance)이다. 즉 인스턴스라는 말은 특정 객체(cat)가 어떤 클래스(Animal)의 객체인지를 관계위주로 설명할 때 사용된다. "cat은 인스턴스" 보다는 "cat은 객체"라는 표현이 "cat은 Animal의 객체" 보다는 "cat은 Animal의 인스턴스" 라는 표현이 훨씬 잘 어울린다.
1. field , member vaiable (변수)
:클래스 내의 메소드들은 자유롭게 사용이 가능
:외부에선 접근 지정자에 의해 사용유무가 결정이 된다.
2. Method: 외부와 내부를 연결시켜주는 인터페이스 역할
1) instance method
:객체를 생성한 후에 사용할 수 있는 메소드
2) static method
:객체의 유무와 상관없이 사용할 수 있는 메소드
:공유의미로 사용(메모리 절약효과)
3. constructor (생성자 함수) => 객체등록
:객체 생성시 자동호출 되어지는 함수
:생성자는 호출 실패시 객체가 만들어지지 않는다.
:생성자는 오버로딩이 가능하다.
:생성자는 클래스명과 동일하다.
:생성자는 리턴타입이 존재하지 않는다.
:생성자는 명시적으로 만들지 않을 경우 디폴트 생성자가 생성된다.
그런데 명시적으로 만들경우 디폴트 생성자는 제공되지 않는다.
public class Main {
//디폴트생성자대신 명시적으로 생성자함수를 만들었다.
Main(){
System.out.println("생성자함수 호출완료");
}
//메인함수에서 생성하게되면 디폴트생성자에있는 문자열이 출력된다.
public static void main(String[] args) {
// TODO Auto-generated method stub
Main m = new Main();
}
}
'취업아카데미-JAVA' 카테고리의 다른 글
9.접근 제어 지시자와 정보은닉, 그리고 캡슐화 (0) | 2015.06.28 |
---|---|
8. 클래스패스와 패키지 (0) | 2015.06.28 |
6.메소드와 변수의 스코프 (0) | 2015.06.28 |
5. 실행흐름의 컨트롤 - 반복문,조건문 (0) | 2015.06.28 |
4.연산자 (0) | 2015.06.28 |