본문 바로가기

BackEnd

Local 클래스와 Anonymous 클래스 Local 클래스: 메소드 내에 정의가 되어서 메소드 내에서만 인스턴스의 생성 및 참조변수의 선언이 가능하다 Anonymous 클래스: 클래스의 이름이 정의되어 있지 않다는 사실에서만 local 클래스와 차이를 보인다.
클래스의 정의와 객체(인스턴스)의 생성 1. 객체의 사전적 의미는 물건 또는 대상이다. 2. 객체는 변수,데이터,상태(데이터는 계속 변함, 사과의 상태 갯수는 계속 변함)와 메소드,기능,행위로 이루어져 있다. 펜으로 치면 샤프심이 변수인데 write가 메소드라면 메소드를 계속쓰면 샤프심 용량 줄어듬. 행위로 인해 상태가 변함. 기능은 데이터를 변화시킴. 객체안의 변수와 메소드는 긴밀한 유대관계가있음. 3. 객체(인스턴스)를 만드는 순서 1) 클래스를 정의한다. 틀을 정의한다. 이거는 붕어빵의 철판틀을 만들어내는것, 변수와 메소드를 묶어놓은것클래스는 메모리 공간에 아직 할당 안된 상태 2) 객체를 만든다. 붕어빵을 계속 찍어내는것객체를 만들면 그때 메모리 공간 할당됨! Fruitseller seller=new FruitSeller(); //객체..
자바 프로그램의 이해와 실행의 원리 1. 일반적인 프로그램 실행 구조 하드웨어를 기반으로 운영체제가 동작을하고 윈도우스 또는 리눅스와 같은 운영체제 위에서 일반적인 프로그램이 실행이 된다. 즉 운영체제가 프로그램을 실행시키는 구조이다. 우리가 보통 아는 프로그램은 운영체제에 상당히 의존적이다. 2. 자바 프로그램 실행 구조 그러나 자바 프로그램은 운영체제와 자바 프로그램 사이에 자바 가상머신이 존재한다. 운영체제는 자바 가상머신을 실행시키고 자바 가상머신은 자바 프로그램을 실행시키는 구조이다. 자바 가상머신도 운영체제 위에서 동작을 하는 일종의 소프트웨어이다. 이 자바 가상머신이 하는일은 자바 프로그램을 운영체제에 상관없이 실행시켜준다. 운영체제에 따른 차이점을 자바 가상머신이 대신 처리해줌. 3. 자바의 특성 자바 프로그램은 운영체제에 ..
다양한 함수의 예 1. 입력 또는 출력이 없는 함수 void는 없음을 의미한다. 매개변수 선언이나 함수의 반환형 선언에 올 수 있다. 123456789101112void ShowStarLine(void){ printf("***************** \n");} int main(void){ ShowStarLine(); return 0;}Colored by Color Scriptercs 2. 출력은 하나, 입력은 둘 이상 123456789101112131415int Add(int n1, int n2){ int result = n1 + n2; return result; } int main(void){ int addResult; addResult = Add(3, 5); printf("덧셈 결과: %d \n", addResul..
함수란 무엇인가? 1. 함수란 무엇인가? - 함수는 영어로 Fuction이다. 그리고 이는 "기능" 이라는 뜻을 지닌다. - c프로그램을 구성하는 독립적인 기능의 모듈(프로그램을 구성하는 소프트웨어의 부품) - c프로그램의 흐름은 연속된 함수의 호출로 형성 됨 2. 함수의 구성요소 - 함수의 이름- 함수의 입력- 함수의 출력(반환)- 함수의 기능(몸체) 3. 함수의 호출 - 한번 정의된 함수는 여러 번 호출될 수 있다. - 함수가 호출된 위치에 값이 반환된다. - main함수도 함수이다. main함수는 프로그램의 시작과 동시에 호출이 된다. 그리고 호출의 주 체는 운영체제이고, 반환되는 값은 운영체제로 넘어간다. 위는 Increment함수와 main함수를 보여준다. 4. 함수의 예 1234567891011121314151..
산술연산 과정에서 발생하는 형 변환의 규칙 형 변환의 우선순위 - 부등호 관계에서 왼쪽에 있는 것이 오른쪽 보다 우선순위가 높다.- 1순위가 가장 높은 우선순위의 그룹이다.- float형이 int형보다 우선순위가 높다. 따라서 int형 변수와 float형 변수를 더하면 int형 변수의 데이터가 float형으로 변환되어 덧셈 연산이 진행된다.- float형보다 double 형이 우선순위가 높다.- 정수형보다 실수형을 우선시한다.- 바이트수가 작은것보다 큰 것을 우선시한다.- unsigned를 우선시한다.- 위에서 char와 short가 없는 이유는 integer promotion이 발생하기 때문에 int형으로 변환되어 연산된다.
연산의 결과가 남기는것은? 1. lvalue 와 rvalue란? 우선 lvalue 와 rvalue에 대해 알아보자 1) lvalue 란? - left value의 줄임말이다. - 대입 연산자의 왼편에 올 수 있는 대상을 총칭하는 표현이다. - 즉 lvalue는 대입이 가능한 대상이어야 한다. - 대입 연산자의 왼편에 올 수 있는 가장 대표적인 대상은 변수이다. - 하지만 왼편에 올 수 있는 것으로 변수가 전부는 아니다. - 따라서 변수는 lvalue이지만 lvalue가 꼭 변수인것은 아니다. 2) rvalue 란? - right value의 줄임말이다. - 대입 연산자의 오른편에 올 수 있는 대상을 의미하며, lvalue의 상대적인 표현을 위해서 등장한 표현이다. 2. 연산자는 연산이 끝나고 무엇을 남길까? 연산자는 연산을 하고나..
sizeof 연산자 sizeof 연산자란? 피연산자의 크기를 바이트 단위로 계산해서 반환하는 연산자이다. 배열에 들어가게되면 매우중요한 연산자로서의 역할을 하게 된다. 피연산자로는 상수,변수,자료형의 이름도 올 수 있다. 123456789101112131415int main(void){ int num = 1234; printf("size of num: %d \n\n", sizeof(num)); printf("size of 1234: %d \n", sizeof(1234)); printf("size of 1234.0: %d \n", sizeof(1234.0)); printf("size of 0.1234: %d \n\n", sizeof(0.1234)); printf("size of char: %d \n", sizeof(char)..