본문 바로가기

Java

6-1 장 클래스와 객체의 개념

1. 클래스의 개념 알아보기 

 

 - 객체 : 사용할 수 있는 실체 

 - 클래스 : 객체를 만들기 위한 설계도 

 - 1개의 정의된 클래스를 이용해 여러 개의 객체를 만들 수 있음

 

2. 절차 지향과 객체 지향 이해하기 

 

1) 절차 지향형 프로그래밍 (PP:Procedural Programming) : 순서에 맞춰 단계적으로 실행하도록 명령어를 나열하는 방식

 

 ex) 절차 1. 자동차의 컬러와 엔진의 종류를 지정

       절차 2. 운전자의 이름과 면허 번호를 지정

       절차 3. 운전자는 자동차를 운전한다.

       절차 4. 장애물 감지 (yes면 절차 5로 no면 절차 3으로)

       절차 5. 운전자는 자동차를 정지한다

 

 2) 객체 지향형 프로그래밍(OOP:Object-Oriented Programming) : 프로그램을 객체 단위로 수행하는 방식

 - 먼저 이 프로그램에서 사용되는 객체(자동차, 엔진, 운전자)를 생성하고 ,

 각 객체에 포함된 데이터(컬러, 엔진, 이름, 면허번호, 종류)와

기능(구동하기, 전진하기,정지하기, 운전하기, 장애물 감지하기)을 상호 호출함으로써 프로그램 구성

 

 - 데이터 : '속성' 또는 '필드'

 - 기능 : '메서드'

 

3) 자바에서 제공하는 객체 지향 문법 요소

 

 - 클래스(class)인터페이스(interface)

 - 클래스는 '일반 클래스'와 '추상 클래스(abstract class)'로 나뉨

 

 - 일반 클래스 

class A {
	int m;
    int n;
    
    void abc() {
    // ...
    }
    
    void bcd() {
    //...
    }
}

 - 추상 클래스 

abstract class A {
	int m;
    int n;
    
    abstract void abc();
    abstract void bcd();
}

- 인터페이스 

interface A {
	public static final int m = 1;
    public static final int n = 2;
    
    public abstract void abc();
    public abstract void bcd();
}

 -클래스나 인터페이스를 활용해 객체를 직,간접적으로 만들고, 이를 활용해 프로그램을 실행

 

3. 클래스 구조 살펴보기 

 

 1)  클래스 정의 

class 클래스명 {
	...
}
package ...; // 1) 패키지
import ...; // 2) 임포트
class 클래스명 {...} // 3)외부 클래스 

public class A {
	int a =3; // 1) 필드 
    double abc() {...} // 2) 메서드 
    A() {...} // 3) 생성자 
    class 클래스명 {...} // 4) 이너 클래스
 }

 2) 클래스 외부 구성 요소 살펴보기 

 

 - 패키지(package)

 프로젝트를 생성할 때 패키지를 지정했다면 이 구성 요소에 패키지명이 포함되며, 반드시 주석을 제외하고 첫 번째 줄에 위치. 클래스 생성 과정에서 패키지를 생성하지 않았다면, 즉 디폴트 패키지를 사용 하면 생략

 

 - 임포트(import) :

 다른 패키지의 클래스를 사용하고자 할 떄 포함. 

 

 - 외부 클래스 (external class)

 클래스 외부에 또 다른 클래스가 또 포함 될 수 있음. 즉 1개의 .java 파일에 여러 개의 클래스가 포함 될수 있다.

 단, 외부 클래스에는 public 키워드를 붙일 수 없다.

 

3) 클래스 내부 구성 요소 살펴보기 

 

 - 필드(field)

  클래스의 특징(속성)을 나타내는 변수 

  ex) int age = 20

 

 - 메서드(method)
  클래스가 지니고 있는 기능(함수)

  ex) void working() {..}

 

 - 생성자 (constructor)

  클래스의 객체를 생성하는 역할

 

 - 이너 클래스(inner class) :

  클래스 내부에도 클래스가 포함될 수 있다.

 

4. 클래스와 객체 구분하기 

 

 - 클래스의 모든 특징(필드)와 기능(메서드)들을 사용하려면 클래스를 이용해 객체를 만든 후 그 객체 속의 필드와 메서드 등을 사용해야 함

 - 클래스에서 객체를 만드는 과정은 생성자가 수행

 - 인스턴스화(instantiation) : 클래스의 생성자로 객체를 만드는 과정

 - 인스턴스(instance) : 인스턴스화로 만들어진 객체

 - 인스턴스 멤버 (instance member) : 클래스의 내부 구성 요소 중 생성자를 제외한 나머지 요소 

 

'Java' 카테고리의 다른 글

11-2장 abstract 제어자  (0) 2023.06.02
11-1장 final 제어자  (0) 2023.06.02
5-2장 문자열을 저장하는 String  (0) 2023.04.23
5-1장 배열 (2)  (0) 2023.04.22
5-1장 배열(1)  (0) 2023.04.22