C lang
// 문제 : main 함수 안에있는 int 변수의 값들 중 최대값을 출력해주세요.
// 조건 : 변수 a0만 사용 가능
#include <stdio.h>
int main(void) {
int a9, a8, a7, a6, a5, a4, a3, a2, a1, a0;
a0 = -10;
a1 = 10;
a2 = 100;
a3 = 210;
a4 = 322210;
a5 = 1440;
a6 = 1130;
a7 = 33210;
a8 = 1210;
a9 = 33210;
// 반복문과 변수 a0 사용 가능
int max_number = 0;
// 수정가능지역 시작
for(int* p = &a0 ; p <= &a9 ; p++){
max_number = max_number < *p ? *p : max_number;
}
// 수정가능지역 끝
printf("최대값은 %d 입니다.\n", max_number);
return 0;
}
JavaScript
복사
배열을 왜 쓸까?
변수 한개로 공간 여러개를 컨트롤 할 수 있다.
배열에는 순서가 있다. 순서가 없는 자료구조도 있기 떄문.
배열 요소에 대한 접근이 빠르다
// 문제 : 아래 질문에 답해주세요.
/* 힌트
- 변수에는 오직 값이 1개만 들어갈 수 있다.
- int arr[3]; arr[0] = 100; arr[1] = 200; arr[2] = 300;
- 여기서 arr에 100과 200과 300이 들어있다는 말은 틀린말입니다.
- 포인터(주소값) 저장하는 변수는 무조건 8바이트 입니다.
- 변수는 공간 1개만 관리합니다.
- int a = 10; // a는 4바이트를 관리합니다.
- int b = 20; // b는 4바이트를 관리합니다.
- 변수 1개로 공간 100개 관리하려면?
*/
#include <stdio.h>
// 질문 : sub1 함수는 몇 바이트 짜리 함수 인가요?
void sub1() {
// 0
}
// 질문 : sub2 함수는 몇 바이트 짜리 함수 인가요?
void sub2() {
int* arr; //8
}
// 질문 : sub3 함수는 몇 바이트 짜리 함수 인가요?
void sub3() {
int arr[4]; // 8 + 16 = 24byte
}
// 질문 : arr1의 메모리 구조와 arr2의 메모리 구조를 비교해서 설명해주세요.
void sub4() {
int arr1[4];
int* arr2;
}
int main(void) {
sub1();
sub2();
sub3();
sub4();
return 0;
}
JavaScript
복사
JAVA
class Main {
public static void main(String[] args) {
int x; // x에는 쓰레기값 0 이 들어감.
System.out.println(x); // 오류, 쓰레기값 출력
x = 20; // x에 20 할당
}
}
Java
복사
// new 자동차() 는 자동차 리모콘으로 변한다..
// 객체 생성 후 호출도 가능하고, 생성하지 않고 바로 호출도 가능하다.
class Main {
public static void main(String[] args) {
new 자동차().달리다();
}
}
class 자동차{
void 달리다(){
System.out.println("달립니다.");
}
}
Java
복사
is == extends
부모에게 상속받은ㅇ 메소드가 마음에 안들면,
상속받은 메소드를 같은ㅇ 이름으로 다시 구현 → 메소드 오버라이드.
묻힌 메소드를 쓰려면 super로 접근해야 함.
가지마!!