본문 바로가기
JAVA/JAVA 기초

클래스와 객체

by 도쿠니 2022. 3. 28.

1. 클래스(Class)

- 객체를 정의하는 설계도

- 객체 변수, 메소드로 이루어짐

 

2. 생성자(Constructor)

- 객체가 생성될 때 자동으로 호출됨

- 생성자를 따로 정의하지 않으면 default 생성자가 있는 것으로 간주한다.

- 생성자를 따로 정의했다면 default 생성자를 사용하지 못하는데 이때 사용하고자 한다면 default생성자를 따로 정의해주면 된다. (생성자 오버로딩)

- 생성자 규칙 : 클래스명과 이름이 같아야하고 리턴 타입이 없다.

 

3. this, this()

- this : 객체 자신을 의미

- this() : 생성자

 

4. 오버로딩(Overloading)

- 한 클래스 내에서 같은 이름의 메소드를 여러 개 정의

- 메소드의 이름은 같지만 매개변수의 타입이나 개수가 달라야한다.

- 리턴타입의 차이로는 오버로딩이라 보지 않는다.

- 오버라이딩(Overriding)과는 다르다.

 

5. 접근 제어자

- 클래스의 변수나 메소드의 접근에 제한을 두는 키워드

- private : 해당 클래스 내에서만 접근 가능

- public : 어디서든 접근 가능

- default : 해당 클래스가 포함된 패키지 내에서만 접근 가능

- protected : 해당 패키지 및 상속받은 클래스에서 접근 가능 

 

6. Static

- 변수나 메소드의 특성을 바꾸는 키워드

- 메모리에 한번만 할당되며 공유되는 특성을 가진다.

- static 클래스 변수는 해당 클래스의 각 객체들이 값을 공유한다(새로운 인스턴스를 만들더라도 static 변수의 값은 인스턴스 전체가 공유함)

- static 클래스 메소드는 객체를 생성하지 않아도 호출 가능

 

public class 클래스명 {
    // 객체 변수
    private String name;
    
    // default 생성자
    public 클래스명(){}
    
    // 매개변수가 있는 생성자
    public 클래스명(String name){
    	this.name = name;
    }
    
    // 메소드
    public String giveH(){
    	return "H";
    }
    
}

클래스명 객체명 = new 클래스명("dokuny");

 

'JAVA > JAVA 기초' 카테고리의 다른 글

다형성(Polymorphism)  (0) 2022.03.28
상속(Inheritance)  (0) 2022.03.28
다차원 배열  (0) 2022.03.28
반복문(for과 while)  (0) 2022.03.28
조건문(if 와 switch)  (0) 2022.03.28

댓글