상세 컨텐츠

본문 제목

1일차 : 이클립스 환경설정 (WINDOWS)

BOOTCAMP/JAVA

by Yuniqa 2025. 3. 12. 09:59

본문

  • Open JDK
    • Java development Kit : 개발도구
    • 자바 다운로드 버전
      • 오라클. 오픈 JDK
      https://openjdk.org/projects/jdk/ https://jdk.java.net/archive/
    • 메모리 관리
      • C 언어나 C++은 메모리 관리까지 해주어야함. 객체지향가면 메모리누수가 생겨. 프로그램 사용하지 않아도 찌꺼기가 남음.C언어는 메모리 관리가 어려움.
      • 자바는 메모리 관리 하지 않음
      • 자바 이해하면 C# 다넷도 가능
    • 구동원리
      • 구동시키려면 JDK가 있어야함
      • JAVA_HOME 환경변수를 찾는것 > 경로 찾아서 필요한것을 JDK찾아서 연결시킬것임.
        • JAVA_HOME C:\Program Files\Java\jdk-21.0.2
        • Path에 경로추가할것 %JAVA_HOME%\bin
      • BIN안의 명령어가 내컴퓨터 아무곳에서나 동작하길 바란것.
        • Win OS. Mac에서도 환경변서 등록해야함.
      • CMD / 터미널창 관리자 권한으로 실행 : path입력 (설치된 경로 확인)
        • java —version
    • 자바설명
      • JAR : 자바전용 압축파일 만드는것. JAR 파일 만드는 명령도구
      • java : 자바프로그램 실행시키는 명령어
      • javac : 자바 컴파일러(번역기 컴파일러) >>javac 파일명 하면 class로 만들어줌. 번역된코드임.단, cpu가 이해하는코드므로 우리는 볼 수 없는것.
      • JAVADOC : 자바설명
      • javadebugger
    • 환경변수 등록
      • C:\Program Files\Java\jdk-21.0.2\bin
      • 매번 명령어 쓸때마다 bin안에 경로 쓸필요 없게 만들고 싶다.
      • workspace 밑에서도 사용되게 하고 싶다면.
     
  • 이클립스(중간프로젝트까지 사용예정. 웹개발까지 할수 있어야함)
    • 202403 버젼
    • https://www.eclipse.org/downloads/packages/release/2024-03/r
    • IDE : 통합개발툴 (Integrated Development Environment ) 배포하고자하는 패키 파일까지 만들수 있는것
    • 이클립스가 기본사용하는 JDK버전 확인해야함
      • -Dosgi.requiredJavaVersion=21 로 버전바꾸고 저장.
      • 굳이 안바꿔도됨.
      • 이클립스 실행 에러남. VM을 주석처리함. (—) 붙이기
      • vm --plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143/jre/bin
      • C:\\Program Files\\Java\\jdk-21.0.2\\bin
      • 쓰고저장
      • 256메가. 2048 메가는 이클립스가 사용할 메모리사이즈. 많이 쓰려면 사이즈 늘리면됨 그러나 보통이정도
    • eclipse.ini
    • workspace: 이클립스에서 작업은 프로젝트 단위로 만들어요. 프로젝트 저장할 폴더 정하기
      • D:\java_workspace
    • Tooltip 사용 (화면우측끝 돋보기)
      • JaveEE : Enterprize 로 웹 개발환경
      • Open Perspective 설정창 열기 : Java 선택 - Open >> Tool tip 누르면 Java
    • 안쓰는 뷰는 모두 닫는다. (Window - Show View)
      • Console view
      • Project Explorer : 이클립스는 프로젝트 단위로 하기 때문에. 프로젝트 뷰를 보고싶음
    • New Project (Alt+Shift+N 으로도 실행가능)
    • Create a Java Project 클릭
      • Project Name: 첫번째프로젝트
      • JRE (JavaSE-21) 이라고 뜨는건 ini파일에서 21로 수정해 주었기 때문임.
      • 수정안한경우 프로젝트 나올때마다 고쳐서 써주면됨.
      • Module 모듈사용은 필수가 아니라 선택임. 또 묶어주고 이런개념. 귀찮으면 안써도됨. >>>> uncheck !! (체크해제하기)
      • Finish 버튼
    • 첫번째프로젝트 생성 (왼쪽패널) 클릭시
      • JRE System Library
        • java.base
          • java.lang
            • 클래스 만들기임. 클래스 묶음을 패키지라고함.
            • 여러패키지를 묶은것을 모듈이라고함.
      • src
        • (우클릭) New - Package
        • 웰컴패키지 라고 패키지네임쓰기
        • 변경희망시 : 우클릭 - Refactor - Rename
      • 웰컴패키지 안에서 우클릭 - New - Class
        • 이름: 환영클래스
        • main 있는 클래스냐. 없는클래스냐.
          • public static void main(String[] args) 선택 하고 finish
      • 환경설정 (이클립스메뉴 - Window - Preferences)
        • 고딕체 권장
        • General > Appearance > Colors and Fonts > Basic > TextFont : Edit
        • Workspace : Other : UTF-8
        • Editors
          • Text Editors > Spelling : UTF-8 선택 확인
          • ( Oracle DB 가 UTF-8 이므로)
      • Java 파일 디렉토리 (Workspace)
        • 패키지이름.java 로 workspace아래에 폴더가 생성됨.
        • .java 는 사람이 읽을 수 있는 자바언어
        • .class 는 컴파일된 결과파일임.
        • 이클립스같은 개발툴은 자동컴파일함. (컴파일명령 별도 필요없음) - bin폴더에 존재함 . class 파일이 있다는건 이클립스가 자동으로 컴파일한 것.
        • 클래스 묶음이 패키지. 클래스 묶음은 파일탐색기에서 폴더명으로. 프로젝트도 폴더명으로
        • .metadata
          • 우리가 무슨뷰 보이게 해라. 폰트지정등 데이터를 다 저장하고 있음. 워크스페이스 작업하는 동안 처음 설정한 값을 유지하게됨
      • 구조및 이해
        • ‘//’ 한줄의 설명
        설명문구 쓰는게 코멘트임.
        • 패키지선언문은 무조건 작성해야함.
        • 제품화할때는 bin 밑의 클래스가 필요한것임
        • cpu가 세미콜론 만나면 여기까지 일하는구나. 문장끝에 반드시!!
      • Syntax Error 는 오타! 라고 생각할 것
    • 자바가 실행하는것
      • GUI : 윈도우 창 뜨는것 (실행하니 글자가 나오더라)
        • 지금은 이렇게 못만듦. 자바 기본문법 다르고 클래스 다루는것 알아야 할 수 있음.
      • CLI : Command line Interface :명령어 타이핑해서 글자로 보이게 하는것 >> 당분간은 이렇게 할것임. 실행하면 화면에 텍스트 뜨는것.
        • 리눅스도 기본적으로 CLI임
    • 자바가 못하는것
      • OS 못만들어요 메모리에 직접 접근못함
      • C는 메모리 CPU직접 컨트롤.OS만듦
      • 보드 OS는 C언어 > 안드로이드 JDK > 그 위에 자바가 돌게됨
      • 자바는 밑에 있는 기판에 접근 못해요.
      • JDK설치하면 Virtual Machine이 구축해요.
      • 이클립스같은 툴은
    • ChatGPT의 활용
      • 선생님 사이트 하나 구축에 일주일 걸리는 것 확인했음
      • 코드를 알고나서 쓰면 굉장한 퍼포먼스
      • 프롬프트 엔지니어링도 하나의 직업군이 되고 있음
      • 기본 문법 공부에 ChatGPT 활용하는 거면 이 자리에 있을 필요 없음
  • https://www.eclipse.org/downloads/packages/
  • 실행
    • Run (F11 + Ctrl)
  • 문자셋:
    • ASCII 코드 : 1byte 문자셋 취급하므로 영어 숫자만 가능
    • Unicode : 2byte 문자셋을 취급하므로 한글가능
      • 변수. 클래스 이름에 한글 사용가능
      • 문제는)
        • 웹 배포할때 리눅스에 넣어야 하는데 리눅스 한글지원 안함.
  • 자바 도움말 : API Documentation (21에 대한 도큐멘테이션) : 실무에서 찾아볼건 이것뿐임. 어떤클래스 어떤패키지. 도큐멘트 문서를 뒤지는 수밖에 없어요.
    • java api document 21 검색
    https://docs.oracle.com/en/java/javase/21/docs/api/두번째 클릭하면 package.java.lang 안에 하위패키지가 있고 클래스가 있음 기본 공부는 8가지고 확인할예정
  • https://www.oracle.com/java/technologies/javase-jdk21-doc-downloads.html 에서 다운로드 (50메가정도) 그런데 찾아보기 불
  • API Doc (8버전을 참고할것)
    • java.lang.Object
      • java.lang.String
    • CLASS 누르면 나오면 쓰는것 4가지
      • NESTED
      • FIELD
      • CONSTR
      • METHOD
    • 상속구조를 볼 수 있음
      • string의 부모는 object
      • Public Class 이름. 만들었는데. Public 아닌 Class의 차이는 뭘까?
      • 클래스 이름만 처음이 대문자이다 (자바가 정한 객체지향룰) Class이름 첫문자는 반드시 대문자
      • Extends Object
      • Implements
    • 클래스종류
      • Interface
      • Classes
  • 패키지.클래스기능을 가져와서 실행시키는 작업하는게 일반적 작업임.
    • Java는 규칙만 이해하면. Java가 규칙 정해둠.
    • Java들어간 메인작성은 통으로 외울것
  • 자바가 제공하는건 기능제공용 클래스. 기능제공용은 실행기능을 갖고있지 않음.
  • Java.lang은 import하지 않는다static이 없으면 new Data 쓰는거고.Field SummaryModifier and Type Field and Description
    static [**PrintStream**](<https://www.notion.so/java/io/PrintStream.html>) errThe "standard" error output stream.
    static [**InputStream**](<https://www.notion.so/java/io/InputStream.html>) inThe "standard" input stream.
    static [**PrintStream**](<https://www.notion.so/java/io/PrintStream.html>) outThe "standard" output stream.
    PrintStream을 찾아가보면
  • Class PrintStream
  • static PrintStream out 이것으로 만든것
  • Java.lang.System