JAVA

JAVA 기초 기본

커피마시기 2023. 3. 15. 05:02

자바

 

■ 자바

●자바는 썬 마이크로시스템즈의 제임스 고슬링과 연구원들이 개발한 객체 지향적 프로그래밍 언어로 1995년에 발표되었다

 

JAVA의 특징 

● 객체 지향 언어 : 숫자(Int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성되어있으며 다형성, 상속, 캡슐화 등의 기능을 제공한다

 

멀티 쓰레드를 지원 : 멀티 쓰레드를 지원할 경우 하나의 프로그램 단위가 동일한 쓰레드를 동시에 수행 할 수 있다 특히 자바는 멀티 프로세서 하드웨어를 지원하도록 설계되어 멀티CPU 시스템에서 높은 효율을 낸다

 

동적이다 : 애플리케이션이 실행 될 때 모든 객체가 한번에 생성되지 않고 객체가 필요한 시점에 클래스를 동적로딩하여 객체를 생성한다

 

네트워크 프로그래밍과 분산처리를 지원

 

● 메모리 관리를 자동으로 한다 : 객체 생성 시 자동으로 메모리 영역을 찾아 할당해주고 사용이 완료되면 자동적으로 사용하지 않는 객체를 제거해준다

 


 

객체 지향 언어 특징

 

● 다형성 : 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게  구현되는 것을 말하며 메서드 오버로딩 / 메서드 오버라이딩이 있다

 

△ 메서드 오버로딩 : 클래스 내에 이미 사용 하려는 이름과 같은 이름을 가진 메소드가 있는 경우 중복하여 정의하는 것                     

△메서드 오버라이딩 : 부모 클래스로부터 상속 받은 메소드를 자식 클래스에서 재정의 하는것으로 상속받은 메소드를 그대로 사용 할 수도 있으며 필요에 따라 재정의 하여 사용가능하다

 

● 상속 : 자식 클래스가 부모 클래스의 속성을 물려받고 기능을 추가하여 확장하는것으로  코드의 재사용성을 높임

 

● 캡슐화 : 변수와 메서드를 하나의 추상화된 클래스로 묶는 과정으로 외부로부터 클래스에 정의된 속성과 기능을 보호하는 데이터 보호와 내부의 동작을 감추고 외부에는 필요한 부분만 노출 시켜주는 데이터 은닉의 기능을 가지고 있다

 

● 추상화 : 객체의 공통적인 속성과 기능을 모아 일반화 하는것


 

 

■ <일반 프로그램 실행 과정>

 

 코드 작성 - 컴파일 - 링크(.exe 파일 생성) - 디버깅 - 실행  

컴파일 : 프로그래밍 언어 - 기계어로 번역

기능을 미리 만들어 놓고 쓰는 곳 : 라이브 러리 / 이후 가져와서 사용 하는것 : 링크

디버깅 : 프로그램의 소스 코드의 오류 또는 버그를 잡아서 수정하는 과정

 

■ <JAVA> 프로그램 실행 과정

 

코드 작성(.java 파일 생성)

컴파일(.class 파일 생성) 

링크 

디버깅

 JVM : 자바의 중간 코드를 실행할 수 있는 주체로 JAVA 프로그램과 OS 사이의 중개자 역할을 하며 JAVA가  OS에 종속되지 않고 사용될 수 있도록 도와준다

 

● 구성  -  ClassLoader : 모든 클래스는 참조 순간에 동적으로 JVM에 연결되며 메모리에 로딩된다

            -  Execution Engine : Method Area의 Byte Code를 Execution Engine에 제공하여 Class에 정의된 내용으로 실행

            - Runtime Data Areas : 프로그램을 수행하기 위한 OS에서 할당받은 메모리 공간 

 

● Runtime Data Areas의 구성

- Class 영역 : 사용하는 클래스 파일의 바이트 코드가 로드 되는 곳으로 static 변수, 전역변수 등의 정보가 저장되면 JVM이 종료될 때까지 유지

- Stack 영역 : 지역변수,매개변수 등 함수의 호출부터 종료까지 유지

- Heap 영역 : 참조형 변수들이 저장되는 영역



 주석

 

● 한줄 주석 :  Ctrl + /

● 여러줄 주석 : Ctrl + Shift + /

int size = 120;
        size = size + 10; //어린이는 발이 빨리 자라기 떄문에 사이즈 10만큼 더 큰 신발을 구매 → 주석을 달아 보조설명 가능
        System.out.println("신발 사이즈" + size + "으로 보여주세요");

 

● 주석을 사용하면 이와 같이 해당 코드에 대한 부가 설명을 추가할 수도 있다
 

■ JAVA 프로젝트 생성 순서

 

● 프로젝트 - 패키지 - 클래스 - 메서드

● 패키지 : Java 클래스의 묶음으로 서로 관련된 클래스를 효율적으로 관리 할 수 있다

● 클래스 : 유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체로써 객체를 생성하기 위한 틀 역할을 한다

● 메서드 : 특정 작업을 수행하기 위한 집합, 필요에 따라 동작하며 다른 언어에서의  함수와 같은 역할을 한다


 
출력메서드
 
● 문자 숫자 변수 논리 값을 출력해주는 메서드이다.
출력 메서드의 종류 → <그대로 한줄에 출력>
                         System.out.print("문자열값"); //문자열값
                         System.out.print('A'); //문자형값
                         System.out.print(100); //정수형값 
                         System.out.print(3.14); //실수형값    
                       
                         

                         <출력하고 줄 바꾸기> 
                         System.out.println("문자열값"); //문자열값
                         System.out.println('A'); //문자형값
                         System.out.println(100); //정수형값 
                         System.out.println(3.14); //실수형값

 


Today's short review 

개발자가 되기 위해 첫 공부로 JAVA를 시작했다  생소하고 어렵지만 재밌다

틀린 부분이나 잘못 알고 있는 부분이 있다면 알려주시면 감사하겠습니다

 

 

'JAVA' 카테고리의 다른 글

자바 조건문 - if & switch  (0) 2023.03.29
문자열 String StringBuilder  (0) 2023.03.23
연산자  (0) 2023.03.21
상수와 형변환  (0) 2023.03.17
변수의 기본형과 참조형  (0) 2023.03.16