Java의 특징
- 프로그램이 안정적임
- 플랫폼 독립성
: 한 번 작성된 Java 코드는 어떤 플랫폼에서든지 JVM만 있으면 실행 가능함
- 강력한 표준 라이브러리
- 멀티스레드 지원
- 보안
- 다양한 오픈소스 라이브러리 및 프레임워크 지원
- 큰 커뮤니티
# 객체 지향 언어 (OOP, Object Oriented Programming)
- 객체와 객체 간에 관계를 형성하고, 서로 상호 작용하게 코드를 설계해 나가는 것 ★
- 객체 : 상태(속성/변수)와 기능(함수/메서드)를 갖는 구체적인 개체
- 유지보수 쉬움
- 재활용성 높음
- 기본 원리 : 목적에 따라 코드를 클래스화하면, 필요할 때마다 가져와서 사용할 수 있음
- 가장 큰 특징 : 정보 은닉, 상속, 다형성 등
JAVA 기본 구조
package 패키지명;
public class 클래스명 {
// 코드의 시작점 main 함수
public static void main(String[] args) {
코드;
...
} // end of main
} // end of class
데이터 출력
// 출력 후 줄 바꿈 O
System.out.println("출력내용");
// 출력 후 줄 바꿈 X
System.out.print("출력내용");
- 빠른 입력 : sysout 입력 and [Ctrl] + [Space]
프로그램 설계의 기본 : CRUD
Create | 생성 |
Read | 읽기 |
Update | 갱신 |
Delete | 삭제 |
컴파일 시점 vs 런타임 시점
① 컴파일 시점
- 개발자의 코드가 컴퓨터가 이해할 수 있는 코드로 변경된 시점
- 문법을 작성하고 오류를 확인하는 시점
- 파일을 저장하면 컴파일됨 → class 파일 등이 생성됨
- [cmd] 컴파일 명령어 : javac 파일명.java
② 런타임 시점
- 버튼/명령어를 통해 실행시켜, 작성한 코드의 실행 결과가 나타나는 시점
- [cmd] 실행 명령어 : java 파일명.java
리팩토링 (Refactoring) ★
- 작성된 코드에 대한 가독성을 더 높이기 위해 코드를 다듬어서 재구성하는 것
ex) 여러 요소들에서 공통점이 다수 발견된다면, 부모 클래스를 만들어 상속시키기
ex) main 함수 코드가 너무 길어지지 않게, 기능을 함수로 만들어서 호출하는 방식으로 만들기
ex) 객체 간 포함 관계 고려 → 포함되는 클래스를 포함하는 클래스의 멤버변수로 선언
컴퓨터의 주요 부품
① CPU (Central Processing Unit)
② RAM (Random Access Memory)
- 전류를 이용해서 데이터를 저장하는 주기억장치
- 휘발성 메모리 : 컴퓨터가 종료되면 임시 저장되어 있는 데이터는 소멸됨
③ HDD (Hard Disk Drive)
- 원판에 스크래치를 만들어 기록하는 보조기억장치
- 영구적 메모리 : 컴퓨터가 종료되어도 데이터가 보관됨
클래스 파일 정리
- 알 수 없는 오류가 발생했을 때 기존 클래스 파일들을 정리해주면 해결되는 경우가 있음
기타 메모
- 대소문자 구분해서 작성하기 ★
- Package : 주요 언어 파일들을 모아둔 폴더 역할
- 로깅 기법 : sysout으로 로그를 찍어서 값을 확인하는 것
- [cmd] 파일 경로 설정 명령어 : cd 파일경로
- [cmd] 자바 버전 확인 명령어 : java -version
- 유니코드(UNICODE) : 전 세계에서 공통적으로 문자를 나타내기 위한 표준
- module : main 함수를 갖지 않은 모든 클래스
- JRE (Java Runtime Environment) : 자바 애플리케이션을 실행하는 데 필요한 SW 구성요소 번들
- JDK (Java Development Kit) : 자바 프로그램을 개발/컴파일/디버깅/실행하기 위한 환경 및 도구
'Java > Base' 카테고리의 다른 글
[Java] 제어문 : 조건문과 반복문 (if, switch, for, while) (0) | 2023.02.02 |
---|---|
[Java] 연산자 (0) | 2023.02.02 |
[Java] 형 변환 (0) | 2023.02.02 |
[Java] 상수와 리터럴 (0) | 2023.02.02 |
[Java] 변수와 기본 자료형 (0) | 2023.02.02 |