본문 바로가기

프로그래밍기초

객체지향 프로그래밍이란 '객체지향 프로그래밍(object-oriented programming)'의 객체란? 프로그램을 구성하는 부품 혹은 모듈. 클래스(class) : 금형 혹은 거푸집. 객체지향 프로그래밍은 클래스의 복사본을 작성힌 후 사용하도록 되어 있습니다. 이 복사본을 객체(혹은 '클래스의 인스턴트'라고 함)라고 하며 클래스의 복사본을 만드는 것을 '인스턴트를 생성한다.'라고 합니다. 클래스라는 금형에 부품을 찍어내는데, 이 부품을 인스턴트(혹은 객체)라고 부르는 것이죠. 그리곤 이 복사본에 속성(property)를 부여합니다. 클래스에는 멤버(또는 데이터멤버)와, 객체를 움직이기 위한 표준함수인 메소드(method. 또는 멤버함수)가 있습니다. 기본 클래스에 데이터멤버나 멤버함수를 추가해 새로운 클래스를 만드는 것을.. 더보기
함수, 인수, 반환값, 지역변수, 전역변수 함수란, 일정한 형식의 명령을 수학 공식처럼 규칙화한 것을 말합니다. 수학의 '함수'와 의미가 비슷합니다. 이때 (수학의 함수에서의) x값에 해당하는 것을 인수, y값에 해당하는 것을 리턴값/ 반환값이라고 합니다. 그리고 앞서 배운 프로그래밍의 변수와 인수는 동일합니다. 다만 변수 중에서 함수에 전달할 정보, 또는 함수가 받은 정보를 인수로 구분하여 부르고 있을 뿐입니다. 함수를 호출하는 방법은, 프로그래밍 언어마다 다르지만, 리턴값 = 함수의 이름 (인수) ..... 로 나타냅니다. 가인수와 실인수 가인수란, (수학 함수의) 정의역에 속한 x값들. 실인수란, (수학 함수의) 실제 함수에 사용하는 인수를 의미합니다. 주의할 점은 수학의 함수와 마찬가지로, 정의역에 속한 모든 x값은 함수에 남김없이 대입되.. 더보기
테이블/ 레코드/ 포인터 테이블(table) 전화번호부를 생각하시면 됩니다. 변수가 단 하나의 데이터값을 담기 위한 상자라면, 배열(array)은 서로 같은 종류의 데이터 묶음 여러개를 보관하는 상자들의 묶음이라 말씀드렸는데요, 테이블은 종류가 다르지만 관련된 데이터를 하나로 모은 묶음을 말합니다. 아래 그림이 테이블의 예인데요, 한 행당 한 명의 데이터묶음은 레코드라 부릅니다. 그리고 각각의 개별 정보는 멤버라고 합니다. 테이블 활용 방법 첫째, 테이블을 이름을 선언하고 둘째, 멤버명을 선언합니다. 셋째, 각 멤버에 넣는 데이터 종류(data type)을 선언합니다. 그러면 새로운 데이터형 설계도가 프로그램에 등록됩니다. 가령 테이블 이름을 baby라 지었다면, 프로그램에 새롭게 'baby형'이라는 데이터형의 설계도가 등록됩니.. 더보기
배열 배열(array) 데이터를 넣을 때 일일이 변수를 선언해야 합니다. 변수란 '데이터를 보관하는 상자'와 같다고 말씀드렸는데요, 만약 데이터의 종류나 수가 많아진다면 일일이 변수 이름을 만들어 선언하는 것은 보통일이 아닙니다. 이럴 때 같은 종류의 데이터끼리 묶어 한 번만 선언한다면 무척 편리할텐데요, 이렇게 같은 종류의 데이터마다 0부터 순서대로 번호를 매겨 묶음 전체에 하나의 이름을 붙인 것을 배열(array)이라고 합니다. 예를 들어 1반 학생들의 수학 점수 평균을 내고 싶을 때, dat, total, answer 의 세 가지 변수명만 선언하면 됩니다. 그러면 학생들의 점수를 보관하는 상자에는 자동으로 1, 2, 3...라는 번호가 자동으로 부여됩니다. 이때 이 상자들 인에는 같은 종류의 데이터, 같.. 더보기