25.02.10(월) OT, 1일차 Java

허배령·2025년 2월 10일

괴발개발 TIL

목록 보기
1/54

단위기간 - 10일 시작 익월 9일 종료 (훈련장려금, 국취제 참고)


react - html, css , js
spring - java
+
DB
모델링
Git (깃허브) 중요


강의 일정 (주)
1, 2, 3 - JAVA

4, 5, 6 - DB

7, 8 포트폴리오 - html, css, JavaScript (프론트)

9, 10, 11, 12 - spring (세미 프로젝트 설계2주, 구현2주)

13,14 - react (JS 할 줄 알아야 함)

15 포트폴리오 - 파이널프로젝트 결과물 제출 (1달+1주정도)

문제해결시나리오 - 잘못된 부분 원인파악, 조치내용작성
프로젝트는 팀단위


Java 프로그래밍 언어 특징

1. 운영체제(OS)에 독립적 (이식성이 높다)

  • 운영체제와 관계없이 어디서든 실행 가능

2. 객체 지향 프로그래밍(OOP) 언어 (중요)

  • object, oriented, programming
    장점 : 코드 재사용성 증가, 유지보수성 향상

3. 사용하기 쉬운 언어

  • 2번의 이유로

4. 자동 메모리 관리(Garbage Collection)

  • 사용하지 않는 메모리 알아서 회수해 줌
  • 개발자는 코드만 짜면 됨

---1,2,3,4 외워두기---

5. 동적 로딩 지원
  • 자바 프로그램 실행 중에 필요한 외부 것들을 바로 가져와서 사용 가능
6. 멀티쓰레드 지원
  • 여러 작업을 동시에 실행 가능
7. 네트워크와 분산환경 지원
  • 인터넷을 통해 데이터 주고 받기

JVM (Java Virtual Machine)

  • 자바를 실행하기 위한 가상 기계
  • 이것 덕분에 운영체제와 관계없이 실행 가능
  • OS에 맞는 JVM을 설치

JVM이 Java코드를 해석하는 순서

  1. 개발자가 작성한 Java 코드를
  2. Compiler(컴파일러)가 byte code(.class 파일)로 번역
  3. JVM의 클래스로더를 통해 자바 코드 실행을 위한 클래스(main 메소드 포함)가
    JVM의 메모리 영역에 로드됨
  4. JVM이 Interpreter(인터프리터) 방식으로 바이트 코드를 한 줄 싞 읽어들여
    해당하는 명령을 실행

** 00_프로그래밍기초 pdf파일 참조

JVM < JRE < JDK
JRE (Java Runtime Environment) - 자바 실행 환경, Java Class Library(API) 포함
JDK (Java Development Kit) - 자바 개발 도구

Java SE : Java standard Edition (쌩자바, 자바만)
Java EE : Java Enterprise Edition (웹개발, 우리가 쓸 것)
Java ME : Java Micro Edition (소형 기계 전용)

프로젝트의 명명 규칙

  • 대/소문자 구분 없이 시작 가능
  • 대문자 사용 권장
  • 파일 이름 지을 때 띄어쓰기, 한글 XX
  • 영어, 숫자, 띄어쓰기 대신 언더바, 카멜케이스 (맨 앞 소문자, 그 다음 단어 대문자)
    카멜케이스 예시) java_basic, javaBasic

프로젝트 만들 때 모듈 언체크, 리멤버 체크하고 NO

src(source) - 소스코드 (자원)

src 폴더가 자바 소스 코드 모이는 폴더 !

package

  • 하나의 프로젝트 내에 관련되어있는 코드들의 묶음
edu.kh.basic -> . 은 하위라는 뜻
ex) 00_javaBasic
     ㄴ src
        ㄴ edu
           ㄴ kh
              ㄴ basic
                 ㄴ Test.java (.class)

웹 개발 시 패키지명에 대한 명명 규칙

  • 최소 3레벨로 구현할 것
ex) edu/.kh/.basic
     1    2    3

Class

  • 자바 코드 쓰는 곳
  • class명 첫 글자는 영어 대문자로 작성
  • 카멜케이스 사용 (다음 단어의 첫단어는 대문자)
  • 특수문자, 숫자는 첫글자 X
    ex) Test123 (o), 123Test (x)
  • 객채를 만들기 위한 일종의 설계도 (OOP)
  • 모든 코드는 반드시 클래스 안에 존재
  • 클래스들이 모여 하나의 Java 애플리케이션 구성

주석

  • 컴파일 시 컴파일러가 주석 부분은 해석하지 않음
  • 한 줄 주석 : //내용 뒤에 내용은 주석
  • 범위 주석 : / 내용 / 사이 내용은 주석

public static void main(String[] args){}

  • 고정된 형태의 선언문
  • 메인메서드 : 자바 애플리케이션(프로그램)을 실행하기 위해서 반드시 필요한 구문
  • main 작성하고 ctrl+spacebar 하면 자동완성 가능
  • 하나의 Java 애플리케이션에서는 main메서드를 포함한 클래스가 반드시 하나 이상 존재해야 함
  • ex) 한 프로젝트 안에 여러 클래스 중 하나의 main메서드가 꼭 있어야 함
public class JavaTest{
	public static void main(String[] args){ // 메인메서드
		System.out.println("Hello World!!"); // 얘네를 실행
	}
}

한 프로그램에 관련된 코드를 모아두는 것 -> 프로젝트
이클립스에서 프로젝트 단위로 만든다!

System.out.println();

  • 작성한 코드를 실행시키는 문구
  • ctrl+f11 단축키
  • syso+자동완성으로 구현 가능
  • ctrl + alt + 방향키(위아래) : 방향키 방향으로 해당 줄 복사

Class 작성 예시

package member.model.vo; - 1. 패키지(package) 선언

import java.util.date; - 2. 임포트(import) 선언 (외부클래스를 가지고 와서 이용하는 것)
ex) date라는 이름의 class는 java.util이라는 패키지에 있음

public class Member { - 3. 클래스(class) 작성부

	private String name;
	private int age;                      - 필드 (또는 멤버변수)
	private Date enrollDate;

	public Member() {}

	public Member(String name, int age, Date enrollDate) {
	super();
	this.name = name;                     - 생성자
	this.age = age;
	this.enrollDate = enrollDate;	
	}

	public String getName() {
	return name;
	}
	public void setName(String name) {      - (멤버) 메서드
	this.name = name;
	}
... 이하 생략...


} - 맨위 중괄호와 짝 (이 안에 있는 내용이 클래스 내용)
profile
인생은 변수

0개의 댓글