객체지향 프로그래밍(1강 - 5강)
25 Nov 2019객체지향 프로그래밍과 클래스
객체지향 프로그래밍
- 객체 지향 프로그래밍(Object Oriented Programmng)
- 객체를 기반으로 하는 프로그래밍
- 객체를 정의하고 객체의 기능과 객체간의 협력 구현
cf. 절차 지향 프로그래밍(Procedural Programming)
- 시간이나 사건의 흐름에 따른 구현
- C언어
클래스(class)
- 객체를 코드로 구현한 것
- 객체 지향 프로그래밍의 가장 기본 요소
- 객체의 청사진
- java 파일 하나에 여러 클래스가 존재할 수 있지만 public 클래스는 하나이고 파일명과 public class 이름은 동일해야 함
멤버 변수, 메서드
- 멤버 변수
- 객체가 가지는 속성을 변수로 표현
- 클래스의 멤버 변수
- member variable, property, attribute
- 메서드
- 객체의 기능을 구현
- method, member function
함수와 메서드
함수
- 하나의 기능을 수행하는 일련의 코드
- 함수는 호출하여 사용하고 기능이 수행된 후 값을 반환할 수 있음
- 함수로 구현된 기능은 여러 곳에서 호출되어 사용될 수 있음
- 함수에서 사용하는 메모리는 stack memory라고 함
함수 정의 하기
-
함수는 이름, 매개변수, 반환 값, 함수 몸체(body)로 구성
int add(int num1, int num2) { int result; result = num1 + num2; return result }
메서드
-
객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
-
메서드를 구현함으로써 객체의 기능이 구현됨
-
메서드의 이름은 클라이언트 코드에 맞게 명명하는 것이 좋음
public class Student { public int studentID; public String getStudentID() { return studentID; } }
인스턴스, 힙 메모리
인스턴스(instance)
- 클래스로부터 생성된 객체
- 힙(heap) 메모리에 멤버 변수의 크기에 따라 메모리 생성
- 각각의 인스턴스는 별개의 메모리 생성
- 클래스를 기반으로 new 키워드를 이용하여 여러 인스턴스 생성
참조 변수와 참조값
Student lee = new Student();
System.out.println(lee); // 참조변수 출력
용어 정리
용어 | 설명 |
---|---|
객체 | 객체 지향 프로그래밍의 대상, 생성된 인스턴스 |
클래스 | 객체를 프로그래밍 하기 위해 코드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버 변수 | 클래스의 속성, 특성 |
메서드 | 멤버 변수를 이용하여 클래스의 기능 구현 |
참조 변수 | 메모리에 생성된 인스턴스를 가리키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소 값 |