반응형
[Java Class.01] 객체 지향 프로그래밍
1.객체란(What is Object?)
- 객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 세상의 모든 물체 같은 것이다.
- 예를 들어 책, 자동차, 사과 같은 것을 객체라고 할 수 있다.
2.객체의 특성
- 객체의 특성은 명사적인 특성과 동사적인 특성으로 나눌 수 있다.
- 명사적인 특성은 "속성"이라고 부르고, 자바에서는 필드(field) 라고 말한다.
- 동사적인 특성은 "동작"이라고 부르고, 자바에서는 메소드(method) 라고 말한다.
3.객체와 클래스
- 현실 세계에서 객체는 설계도라고 불리는 "클래스(Class)"를 바탕으로 만든다.
- 예를들어, "자동차"라는 객체를 만들기 위해서 공장에서는 자동차 "설계도"를 보고 만든다.
- 이 때의 "자동차 설계도"는 자바에서 클래스라고 한다.
- 설계도 = 클래스
- 클래스 안에는 필드와 메소드가 들어있다.
- 클래스로부터 만들어진 객체를 인스턴스(instance)라고 부른다.
4.클래스 만들기(선언)
// 소스 파일명: Car.java
public class Car { // 클래스 이름: Car
String color; // 차 색깔
int price; // 차 가격
void run() { // 차 앞으로 가기
}
void stop() { // 차 멈추기
}
}
- 통상적으로 클래스 이름은 첫 글자를 대문자로 하고 나머지는 소문자로 작성한다.(위의 경우 Car)
- 만약 서로 다른 단어가 합성된 이름을 사용한다면, ChatServer, Web_Browser 같이 첫 글자를 대문자로 쓰는게 일반적이다.
- 클래스 이름을 정했다면 "클래스 이름.java"로 소스 파일을 생성해야 한다.
- 반드시 클래스 이름과 소스 파일 이름이 같아야 한다.
- public class 키워드는 클래스를 선언할 때 반드시 소문자로 작성해야 한다.
5.객체 생성과 클래스 변수
- 만들어진 클래스로부터 객체를 생성(인스턴스화)하려면 new 연산자를 사용한다.
// 소스 파일명: Main.java
public class Main {
public static void main(String[] args) {
Car car1 = new Car(); // car1 객체 생성
car1.color ="red";
car1.price = 1000;
System.out.println(car1.color);
System.out.println(car1.price);
/* 실행결과
red
1000
*/
}
}
- 아래의 코드(Book.java)와 같이 하나의 소스 파일에서 클래스를 만들고 객체 생성 및 실행까지 한꺼번에 할 수도 있다.
- 하지만 대부분의 객체 지향 프로그램은 라이브러리와, 실행 클래스 등이 분리되어 있다.
- 그래서 클래스 파일과 실행 main 파일을 분리하는 것이 좋다.
// 소스 파일명: Book.java
public class Book { // 하나의 소스파일에서 클래스 만들고 객체만들어 실행하기
int price;
public static void main(String[] args) {
Book book1 = new Book();
book1.price = 100;
System.out.println(book1.price);
}
}
728x90
반응형
'자바(Java) > 자바 클래스' 카테고리의 다른 글
[Java Class.06] 상속(Inheritance) (0) | 2024.02.23 |
---|---|
[Java Class.05] Singleton & Final(싱글톤&파이널) (0) | 2024.02.23 |
[Java Class.04] Member of Instance & Static (0) | 2024.02.23 |
[Java Class.03] 메소드(Method) (0) | 2024.02.18 |
[Java Class.02]필드, 생성자 (0) | 2024.02.18 |
댓글