FlowerBombs

클래스/객체/생성자 본문

JAVA

클래스/객체/생성자

CitronLemon 2019. 2. 26. 17:19

클래스


- 자바 프로그램의 최소단위.

같은 대상(기능)을 위해 존재하는 변수나 함수들을 그룹으로 묶은 단위.




<생성자 메서드>

클래스 -> 어떤 기능을 위한 변수와 함수를 그룹화


객체 -> 클래스의 기능을 부여한 특수한 변수


클래스 하나를 통해서 같은 형식(구조)를 갖지만 내용은 다른 객체를 여러개 생성할 수 있다.

ex) 글 목록에 속한 게시글들은 모두 같은 구조지만, 내용은 각자 다르다.

     게시글 -> 제목, 작성자, 내용, 작성일시 ....


객체를 생성하고 나면 각 객체가 포함하는 멤버변수들의 값을 각각 다르게 할당해야 한다


메서드는 각 객체들이 수행해야 하는 기능

ex) 게시글 -> 읽기, 쓰기, 수정, 삭제 등 ..


객체 할당 후 각각 값을 다르게 설정해야 하므로

클래스 작성시 멤버변수를 선언하면서 값을 대입하는 것은 큰 의미 없음.




객체


클래스로 정의된 기능을 부여한 형태 

1
2
3
4
Foo foo = new Foo();
foo.num1 = 200;
foo.plus();
int result = foo.getNum();
cs









생성자


객체가 생성될 때 자동으로 호출되는 특수 메서드

- 리턴형을 명시하지 않는다.

- 생성자의 이름은 클래스 이름과 동일해야 한다.

- 모든 클래스는 하나 이상의 생성자가 존재해야 한다.

1
2
3
class Foo {
    Foo() {...}
}
cs




기본생성자

클래스 정의과정에서 생성자의 정의가 생략될 경우 자바 컴파일러가 자동으로 다음과 같은 생성자가 존재한다고 판단함.

1
2
3
class Foo {
    Foo() {...}
}
cs



생성자 파라미터

- 객체를 초기화 하기 위해 전달하는 값

- 주로 멤버변수의 값을 초기화 하는데 사용함

- this : 현재 객체를 의미하는 키워드

= 변수 앞에 명시할 경우 멤버변수 의미

= 메서드 앞에 명시할 경우는 큰 차이 없음.


1
2
3
4
5
6
class Foo {
    int bar;
    Foo(int b){
        this.bar = b;
    }
}
cs



클래스

1) 표현하고자 하는 정보들을 멤버변수로 정의

2) 멤버변수에 할당할 값을 파라미터로 받는 생성자를 정의 

->?


'JAVA' 카테고리의 다른 글

상속성  (0) 2019.02.26
은닉성  (0) 2019.02.26
메서드  (0) 2019.02.26
배열  (0) 2019.02.26
문법의 중첩 사용  (0) 2019.02.26
Comments