7. 개발 언어(Java 위주)

[C언어 포인터란?]

포인터란 어떤 변수의 주소값을 저장하는 변수이다. 포인터의 선언은 변수명 앞에 * 을 붙이면 가능하고, 어떤 변수의 주소값을 얻기 위해서는 &을 붙이면 된다.

#include <stdio.h> 

int main() { 
	int* p = NULL; 
	int num = 10; 

	p = &num; 

	printf("포인터 p의 값: %d \\n", p); 
	printf("num의 주소: %d \\n", &num); 

	return 0; 
}

[Java의 장점과 단점]

[Java가 다중 상속을 지원하지 않는 이유]

다중 상속을 지원하면 다이아몬드 문제가 발생할 수 있기 때문이다. 예를 들어 Human 클래스에 있는 Walk() 메소드를 Female 클래스와 Male 클래스가 모두 구현하였다고 할 때, Female과 Male 클래스를 다중 상속 받은 Person 클래스의 입장에서는 코드의 충돌이 생기기 때문.

Untitled

[오버라이딩(Overriding)과 오버로딩(Overloading)]

public class Person { 
	public void print() { 
		System.out.println("나는 사람입니다"); 
	} 
} 

public class Student extends Person { 
	// Overriding 
	public void print() { 
		System.out.println("나는 학생입니다."); 
	} 

	// Overloading 
	public void print(String name) { 
		System.out.println(name + "는 학생입니다"); 
	} 
}

[클래스(Class), 객체(Object), 인스턴스(Instance)의 개념]