우선, parameter에는 formal parameter와 actual parameter가 있다. 예제 코드를 통해 formal parameter와 actual parameter를 비교해보자. class Solution { public static void main(String[] args) throws Exception { int a = 1; int b = 2; System.out.println(getSum(a,b)); } public static int getSum(int x, int y) { return (x+y); } } - Formal parameter : 함수(subprogram)를 정의할 때와 함수 안에서 사용되는 parameter (x, y) - Actual parameter : 함수(s..
이번 포스팅은 중요한 내용을 담고 있다. 이번에 다룰 내용은 참 많은데, 주제는 Variable이다. 이 Variable에 대해서 name, binding time, blocks, global variable (전역 변수), local variable (지역변수), memory allocation, lifetime, named constant (이름 상수), Type에 대해 알아보도록 하겠다. 1. Name Name은 정말 간단하게 변수의 이름을 말한다. int a; 에서는 a가 변수 이름이다. 이 이름은 간단하지만, 제약이 있는 경우가 있다. 예를 들면 int for = 1; 이런 식으로 for라는 실제 사용되는 단어로 변수의 이름을 설정할 수 없다. 이런 단어들을 predefined name이라고 한..
고급언어의 기능으론 다음의 3가지가 있다. 1. Data Abstraction 2. Process Abstraction 3. Data & Process Abstraction 1은 메모리에 저장되는 데이터 타입을 의미한다. 예를 들면, char, int, double, boolean, string 같은 것 말이다. 특히 변수, 배열, 구조체 등으로 메모리 블록에 명칭을 부여하는 기능도 제공한다. 2는 기계어 명령 여러 개를 구조화 시킨 것을 의미한다. 예를 들면, if, for, while 같은 구문과 함수, 프로시저 등이다. 3은 Class, Module, Package를 의미한다. 고급언어는 다음과 같은 특성을 가진다. 1. 단순성 (overall simplicity) : 어떤 현상을 단순하게 하여 쉽..
프로그래밍 언어는 개발자라는 직업을 선택한 사람들에게 가장 기초가 되는 과목이다. 개인적으로 학부생 시절에 이 수업을 들으면서, 이런 걸 과연 왜 배우는 걸까? 의미가 있을까? 외우기 위주 수업이라고 재미없다고 생각했다. 하지만, 졸업을 하고 나니, 프로그래밍 언어라는 과목이 얼마나 중요한지 깨달았고, 퇴근한 금요일 밤에 예전에 했던 수업 필기를 찾아서 정리하려고 한다. 퇴근한 금요일 밤에 이 게시물을 작성하는 것 만으로도, 지금 학부생인 분들께 프로그래밍 언어라는 수업을 열심히 들어야 한다는 생각이 꼭 들길 바란다. 내가 참고한 책은 수업 교재였던 'Concepts of Programming Languages, 10th edition, Robert W. Sebesta'이다. 이 책에 의하면, 프로그래밍..