클래스 개념과 객체

장찬익·2023년 9월 11일

JAVA 학습 일지

목록 보기
10/28

- 객체지향 프로그래밍이란 ?

객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 됩니다.
객체(object)란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있습니다.
이러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍입니다.
이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 합니다.

- 객체지향 프로그래밍의 특징

  • 추상화(abstraction)
    실제 세상을 프로그래밍으로 옮길 수 있게, 필요한 기능들만 가져와서 단순화
  • 캡슐화(encapsulation)
    보안적인 기능에 도움을 줌, 규칙 정의, 사용 용도 명확히. 안에 있는 값을 노출하지 않음.
  • 상속성(inheritance)
    부모를 지정하고, 부모의 코드를 가져다가 쓸 수 있는 것. 코드의 재사용성
  • 다형성(polymorphism)
    변수가 여러 가지 모습으로 변할 수 있는 것.

- 클래스의 정의

  • 사람(Person)이라는 클래스가 있다고 친다면, 사람은 눈, 코, 입이 있고, 손과 다리가 있다. 이런 것이 클래스에서는 데이터이다. 그리고 눈으로는 사물을 보고, 코로는 냄새를 맏고, 입으로는 말을 하거나 음식을 먹는다. 이것이 클래스 관점으로 보면 연산이다.
    간단히 이야기하면 멤버 변수와 멤버 메소드라고 기억면 편하다.
public class 클래스이름 {
	// 멤버 변수
	int a;
    int b;    
    // 생성자
    클래스이름(){
    	a=10;
        b=15;
    }
	// 메서드
	public static void main(String[] args){
    //프로그램 시작 시점 
    }
}

- 클래스의 구조

  • 멤버변수
    클래스 안의 기능을 끄집어 내서 사용할 때 사용.
    저장할 공간.
    (ex. 화면에 출력 시 사용했던 System.out.println()에서 out은 System이라는 클래스의 out이라는 멤버변수를 사용한 것이다.)

  • 메서드(method)
    기능을 나타낸다.
    ()가 항상 붙어있다.
    (ex. System.out.println에서 println()이다.)

  • 생성자(constructor)
    처음에 값을 넣어줄 때 사용(default 값)

ex)<p>class Person{
    String eyes="눈";
    String ears="귀";
    String nose="코";
    String mouth="입";
         void useEyes(){
        System.out.println(eyes+"으로 봄");
    }
    void useEars(){
        System.out.println(ears+"로 소리를 들음");
    }
    void useNose(){
        System.out.println(nose+"로 냄새를 맡음");
    }
    void useMouth(){
        System.out.println(mouth+"으로 욕을 함");
    }
}

- 인스턴스

  • 클래스로부터 객체를 선언하는 과정을 클래스의 인스턴스화라고 합니다.
  • 자바에서는 하나의 클래스로부터 여러개의 인스턴스를 생성할 수 있습니다.

이상으로 클래스의 개념에 대하여 알아보았다.

profile
장찬익 입니다

0개의 댓글