본문 바로가기
자바(Java)/자바 클래스

[Java Class.01]객체 지향 프로그래밍(Object Oriented Programming)

by 긱펀 2024. 2. 18.
반응형

[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
반응형

댓글