오늘은 까먹을 거 같아 다 잊어버리기 전에 자바 기본지식에 대하여 알아야 할 것들만 알아보도록 하겠다.
자바의 특징.
1. 객체 지향 언어이다.
부품에 해당하는 객체를 만들고 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법을 객체 지향 기법 (OOP , Object Orient Programming)라고 한다.
메모리에서 사용하고 싶은 객체가 있다면 우선 설계도로 해당 객체를 만드는 작업이 필요하며 클래스가 바로 그 설계도이다. 클래스에는 객체를 생성하기 위한 필드와 메서드가 정의되어 있고 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(Instance : 객체가 메모리에 할당되어 실제 메모리를 차지하는 것을 의미.)라고 한다.
클래스 역시 객체라고 할 수 있다.
각 객체 간의 관계는 상속, 소유, 사용이 가능하며 , 각 객체는 언제든지 다른 객체로 교체가 가능하다.
2. OS로부터 독립적이다
운영체제는 자바 프로그램을 바로 실행할 수 없다. 자바프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이기떄문에 이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. 이것이 JVM(Java Virtual Mechine)이다
장점 : 운영체제와 자바 프로그램을 중계하는 JVM을 두어 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계하였다. 따라서 개발자는 운영체제와 상관없이 자바 프로그램을 개발할 수 있다.
단점 : 한 번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 컴파일링 되기때문에 C와 C++ 보다 느리다. 다만 최근에는 JVM과 JIT 컴파일러와 하드 웨어의 성능 향상으로 줄어들고 있다고 한다.
접근 제한자.
private < default < protected < public
private : 클래스 내부에서만 사용가능
default(package) : 같은 패키지 내에서만 사용가능
protected : 클래스를 상속받는 자식 객체 내에서까지 사용가능
public : 모든 클래스에서 사용가능
데이터 타입
기본형(primitive) : stack 메모리 영역에 실제값을 저장하는 데이터 타입. / call by value 호출 방식을 사용함.
- 정수 타입 : byte, char, short, int, long
- 실수 타입 : float, double
- 논리 타입 : boolean
참조형(reference) : 메모리 상에 객체가 있는 위치를 정하는 것. 실제값은 heap에 저장되고 stack에는 메모리 주소만 저장.
call by reference 방식.
- String
- 클래스
- 인터페이스
- new 연산자로 정의
오버로딩 (Overloading) VS 오버 라이딩 (Overriding)
오버로딩
같은 이름을 가진 메소드들이 다른 매개변수를 가지는 경우
ex) void test() , void test(int i)
오버 라이딩
조상 클래스로부터 상속받은 메서드들 자식 클래스에서 변경하는 경우
'JAVA' 카테고리의 다른 글
[JAVA] 메서드에 대하여 (0) | 2023.04.16 |
---|---|
[JAVA] Web에서의 맵핑(Mapping)이란?? (0) | 2023.04.11 |
[JDK, JRE] JDK,JRE의 차이점 (0) | 2023.03.23 |
[JDK] Eclipse 설치 및 환경 설정 해보기 (0) | 2023.03.23 |
자바 For문에 대한 정리 2 (0) | 2023.02.19 |