티스토리 뷰
학습 배경
- 절차지향 프로그래밍에서 프로그램은 data structure과 funtion들로 구성된다.
- 객체지향 프로그래밍에서 소스 프로그램은 class로 구성된다.
학습 목표
- 객체지향 프로그래밍에서 클래스를 구성하는 요소를 알아보고, 구성요소의 종류와 특징을 알아본다.
자료구조 (data structure)
정의 | 자료를 효율적으로 표현하고 저장하고 처리하기 위해 조직화하는 것 | ||
분류 | 단순 구조 | 정수, 실수, 문자, 불리언, 문자열 | |
선형 구조 | 리스트, 연결리스트, 스택, 큐 | ||
비선형 구조 | 트리, 그래프 | ||
파일 구조 | 순차 파일, 색인 파일, 직접 파일 |
클래스를 구성하는 요소?
클래스 (class)
: 클래스는 객체의 공통적인 특징과 기능을 정의한 것이고, 필드와 메소드로 구성된다.
객체 (object)
: 작업을 수행하는 프로그래밍의 실체
클래스 | 필드 | 객체의 특징과 상태를 저장할 수 있는 데이터 |
메소드 | 객체가 수행하는 동작을 정의해놓은 실행 코드이고, 문장들로 구성됨 (다른 언어에서는 함수) |
메소드를 구성하는 요소?
메소드 | 문장 | 알고리즘을 프로그래밍 언어로 기술한 것이고, 예약어와 식과 세미콜론으로 구성됨 | |
예악어 | |||
식 | 새로운 값을 지정하거나 변수 수정에 사용되는 변수이고, 어휘로 구성됨 | ||
세미콜론 |
어휘의 종류?
정의 | 종류 | |
예약어 | 기능과 용도가 예약된 단어 | for, while, if 등의 예약어 null, true, false같은 예약된 리터럴 |
연산자 | 특수한 연산을 수행하는 단어나 기호 | 산술, 관계, 논리, 증감, 비트, 조건, 배정 배열 [ ] 메소드 ( ) 객체참조 . 캐스팅 (자료형) |
구분자 | 어휘들을 구분하는 요소 | ; { } , 공백 |
주석 | 프로그램을 설명하기 위해 기술하는 문장 | 한 줄 주석 / 여러 줄 주석 /* */ |
식별자 | 프로그래머가 요소를 식별하기 위해 부여한 이름 | 변수, 상수 변수, 배열, 메소드, 클래스 등 |
리터럴 | 소스 작성 시 값이 결정되고, 실행 동안 값이 변하지 않는 요소 | 정수, 실수, 논리, 문자, 문자열, 객체참조 리터럴 |
*변수 - 유효범위에 따른 분류
지역변수 | 메소드 안에서 선언된 변수 |
인스턴트변수 / 멤버변수 |
클래스 안에서 선언된 변수 > 객체가 실행되는 동안 유효함 |
클래스변수 / 정적변수 |
static 예약어를 갖는 변수, 클래스로 생성되는 객체들이 공유할 목적으로 사용 > 객체 생성에 상관없이 클래스 종료될 때까지 유효함 |
댓글