c언어
scanf 함수를 호출할 때 두 번째 인자로 변수의 주소 값을 넘기는 이유
공간을 빌려줄 수 없다.
공간은 주소를 통해서 공유될 수만 있다.
Plain Text
복사
* 참조연산자
& 주소연산자
Plain Text
복사
int c = scanf_int();
char* str = scanf_str();
double d = scanf_double();
Plain Text
복사
자바
//상위 타입 리모콘을 사용하는 게 좋다.
int[] arr = new int[4];
//표준Tv 리모콘 3개 넣을 수 있는 배열객체 생성
표준Tv[] arr = new 표준Tv[3];
Java
복사
추상클래스, 인터페이스(100% 추상클래스)
자바에서는 다중 상속이 안된다.
상속이라는 카드는 클래스 인생에서 단 1번 밖에 안된다.
Plain Text
복사
동물 a동물 = a사람; //(0)
a원숭이 = a동물; //리모콘 버튼을 늘려야 한다.
a원숭이.숨쉬다(); //사람이
a원숭이.묘기(); //사람
Plain Text
복사
리모콘에 버튼을 추가하는 것
- 기능적으로는 좋아짐
- 될 수도 있고, 안될 수도 있다. => 위험하다
리모콘에 버튼을 빼는 것
- 기능적으로 불편해진다.
- 무조건 안전하다.
Plain Text
복사
동물 a동물 = a원숭이;
원숭이 a원숭이2 = a동물;
=> 수동형변환 해야한다
원숭이 a원숭이2 = (원숭이) a동물;
Plain Text
복사
자바에서는 안전한 것에 대해서는 자동형변환해준다.
컴파일러는 실행전에 하는 거라 변수안에 지금 뭐가 들어있는지 모른다.
자바에서는 안전하지 않을 수 있는 것에 대해서는 개발자의 사인이 필요하다.=> 수동형변환이다.
컴파일 타임(error), 런타임(exception)
Plain Text
복사
int intValue = 10;
long longValue = intValue; //자동형변환 되는 이유
intValue = (int)longValue; //수동형변환 해야하는 이유
자바에서는 위험하다고 판단되면 통과시켜주지 않는다.
=> 개발자의 서명 필요
Plain Text
복사
자바에서는 리모콘의 버튼이 추가되는 것을 극도로 무서워한다.(편리해지긴 하지만)
자바에서는 리모콘의 버튼이 제거되는 것은 늘 안전하다고 판단된다(불편해지긴 하지만)
컴파일러는 왜 이렇게 멍청해 보이는가? : 컴파일러는 실행전 단계에서 검사를 진행한다.
그렇기 때문에 컴파일러는 변수(컵)의 내용물은 볼 수 없다.
Plain Text
복사
예시
수제아이스크림가게
녹차아이스크림 – 장인비법
가이드북
사수는 무슨 효모를 발효시킨다.
부사수 그때 잘 저어준다.
서울 뱅뱅사거리점 대박 아이스크림 가게
홍길동 extends 사수
임꺽정 extends 부사수
가이드북
홍길동은 무슨 효모를 발효시킨다.
임꺽정은 그때 잘 저어준다.
서울 가로수점 대박 아이스크림 가게
이점례 extends 사수
이창호 extends 부사수
가이드북
이점례는 무슨 효모를 발효시킨다.
이창호는 그때 잘 저어준다.
Plain Text
복사