5-1. 객체 지향 프로그래밍과 클래스

왱구·2023년 12월 11일

JAVA

목록 보기
10/17

1. 객체의 뜻

  • 사전적 의미는 '의사나 행위가 미치는 대상'
  • '객체 지향 프로그램이란 '어떤 대상을 가지고 프로그래밍한다.' 라는 개념을 가질것
    ex) 생활속의 객체 예 (절차와 객체 비교)
  • 학교 가는 과정에 대한 프로그래밍

1) 절차적: 시간의 흐름에 따른 프로그래밍

일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불한다 -> 학교에 도착한다

2) 객체 지향: 객체를 정의, 객체의 기능 구현, 객체 사이의 협력 구현



2. 클래스

  • 객체에 대한 속성과 기능을 코드로 구현 한 것
  • "클래스를 정의 한다"라고 함
  • 객체에 대한 청사진(blueprint)
  • 객체의 속성 - 객체의 특성, 속성, 멤버변수
    ex) 학번, 이름, 학년, 주소 등
  • 객체의 기능 - 객체가 하는 기능들을 메서드로 구현
    ex) 수강신청, 수업듣기, 시험보기 등


3. 클래스 정의하기

  • 클래스이름은 대부분 대문자로 시작한다
  • 하나의 자바 파일에 하나의 클래스를 두는 것이 원칙이나, 여러개의 클래스가 같이 있는 경우
  • public클래스는 단 하나이며, public클래스와 자바 파일의 이름은 동일해야 함

1) 클래스의 속성

자료형을 이용하여 멤버 변수로 선언

속성자료형변수이름설명
학번intstudentID학번은 정수로 나타낼 수 있기 때문에 int형으로 선언
이름StringstudentName학생 이름은 A 같은 하나의 문자가 아니라 여러 개의 문자로 이루어진 문자열이기 때문에 String 클래스를 사용
학년intgrade학년은 정수로 나타낼 수 있기 때문에 int형으로 선언
사는 곳Stringaddress문자열을 나타내기 위해 String을 사용

2) 클래스의 기능

  • 메서드(멤버함수)로 구현
  • 객체가 수행하는 기능을 구현


4. 메서드

: 함수의 일종으로 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수

1) 함수

: 하나의 기능을 수행하는 일련의 코드를 말함.
어떤 기능을 수행하도록 미리 구현해 놓고 필요할 때마다 호출하여 사용가능

함수의 입력과 반환

2) 함수 정의하기

① 함수이름(add): 함수의 기능과 관련하여 명명
② 매개변수(int num1, int num2): 함수의 수행을 위해 필요한 변수
③ return: 함수 수행 결과를 반환하기 위한 예약어
④ 함수 반환 형(int): 반환 값의 자료형. 반환값이 없는 경우 void라고 씀

add()함수를 호출할 때 값이 전달되는 과정

3) 함수와 스택 메모리

스택: 함수가 호출될 때 사용하는 메모리. 함수의 기능 수행이 끝나면 자동으로 반환됨

함수 호출과 스택 메모리 구조
profile
늦깎이 애아빠 개발지망생

0개의 댓글