Notice
Recent Posts
Recent Comments
Link
hyeongwoo's blog
[Java] 클래스_(구성) 본문
<클래스>
데이터(속성)와 기능(메소드)를 포함하는 자료형이다.
객체를 생성시키기 위한 설계도이다.
<클래스 구성>
필드
- 데이터(속성)값이 저장되는 곳이다.
- 멤버 변수라고도 불리며 객체의 상태를 나타내는 변수이다.
- 인스턴스에 속하는 비정적(non-static)필드와 클래스에속하는 정적(static) 필드로 나뉜다.
메소드
- 메소드는 객체의 동작이나 행위에 해당되는 코드 블록이다.
- 클래스내의의 정의된 함수로 다양한 기능을 수행한다. 예를들어 객체의 데이터를 처리하거나 다른 메소드를 호출하는 작업을 수행한다.
생성자
- 객체가 생성될때 가장 먼저 호출되는 특별한 메소드이다.
- 생성자의 이름은 클래스 이름과 같아야한다.
- new 연산자를 통해 호출되며 객체의 초기 상태를 설정한다.
- 객체의 데이터 초기화와 메소드 초기화를 한다.
<생성자 오버로딩>
- 매개변수 타입과 개수가 다른 생성자를 여러개 선언하는것
- 디폴트 생성자가 없고 오버로딩 생성자가 선언될시 오버로딩 생성자만 호출가능하다. (명시적 생성자 우선 호출)
- 디폴트 생성자도 호출 가능하게 하려면 디폴트 생성자도 명시적으로 적어주어야한다.
- 프로그래밍을 유연하게 작성하는데 용이하다.
<클래스 예시>
자동차 클래스를 정의하고 클래스내의 필드 생성자 메소드를 구현한다.
public class Car {
// 필드 (Field)
private String color; // 비정적 필드
private static int numberOfCars = 0; // 정적 필드
// 생성자 (Constructor)
public Car(){//명시적 디폴트생성자
}
public Car(String color) { // 오버로딩된 생성자
this.color = color;
numberOfCars++;
}
// 메소드 (Method)
public void drive() {
System.out.println(color + "색 차가 달리고 있습니다.");
}
// 정적 메소드
public static int getNumberOfCars() {
return numberOfCars;
}
}
'JAVA' 카테고리의 다른 글
[Java] 메소드 (0) | 2024.01.26 |
---|---|
[Java] this (2) | 2024.01.24 |
[Java] 객체 (0) | 2024.01.24 |
[Java] 제어문_(반복문 활용) (0) | 2024.01.22 |
[Java] 제어문_(조건문) (1) | 2024.01.21 |