본문 바로가기

JAVA

[JAVA] 자바 기본 지식에 대하여

오늘은 까먹을 거 같아 다 잊어버리기 전에 자바 기본지식에 대하여 알아야 할 것들만 알아보도록 하겠다.

 


자바의 특징.

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