2024/07 10

[JAVA Tutorials] #2 Lesson: Language Basics - Variables

안녕하세요?도로시의 JAVA Tutorials lesson 2  입니다!더우니까 바로 시작하겠습니당~~ 히뤼고~~!!1. Variables이전 강의에서 배웠듯이 객체는 자신의 상태를 fields 에 저장합니다 .int cadence = 0;int speed = 0;int gear = 1; 객체란 무엇인가? 토론을 통해 필드에 대해 소개했지만 아마도 다음과 같은 몇 가지 질문이 있을 것입니다. 필드 이름을 지정하는 규칙과 규칙은 무엇입니까? 게다가 int, 어떤 다른 데이터 유형이 있나요? 필드를 선언할 때 필드를 초기화해야 합니까? 명시적으로 초기화되지 않은 경우 필드에 기본값이 할당됩니까? 이번 강의에서는 이러한 질문에 대한 답을 살펴보겠습니다. 하지만 그 전에 먼저 알아야 할 몇 가지 기술적 차이점이..

2. Java Tutorials 2024.07.30

[JAVA] Concurrency 1 (High Level Programming Language/Essential Java Classes)

안녕하십니까! 며칠만에 돌아온 Dorothy 입니다.요즘 너무 덥네요..(헥헥) 더위에 취약하고삼재도 아닌데(?) 여기저기 다쳐서 병원투어(?) 중이라 며칠간 포스팅을 하지못했습니다 ㅠ암튼 그것은 그것이고, 할 공부는 다시 해야겠죠? 시작합니다! 오늘은 JAVA 고급프로그래밍과 관련된 개념 중 동시성(Concurrnecy)에 관해 배워보도록 하겠습니다.동시성은 내용이 방대하여 총 3편으로 나누어 포스팅 하려합니다!비록 이 내용이 길다고 해도 꼭 숙지해야 하는 개념이기에 집중 부탁드립니다.   자바 공식 Concurrency 튜토리얼 1. Threads스레드는 경량 프로세스라고도 합니다. 프로세스와 스레드 모두 실행 환경을 제공하지만 새 스레드를 생성하는 데 필요한 리소스는 새 프로세스를 생성하는 것보다 ..

3. Java 2024.07.30

[IT News] 마이크로소프트의 독단이 싫은 개발자를 위한 VS 코드 대체제 '테이아 IDE'

VS 코드의 기능은 사용하고 싶은데 마이크로소프트가 싫은가? 이클립스의 테이아(Theia) IDE 프로젝트가 대안이 될 수 있다.  ⓒ Getty Images Bank마이크로소프트 비주얼 스튜디오 코드는 지난 몇 년 동안 인기 있는 개발자 툴로 부상했다. 비주얼 스튜디오 코드는 기본적으로는 가벼운 편집기지만, 다양한 확장을 통해 많은 언어와 개발 작업을 위한 IDE로 탈바꿈할 수 있다. 그러나 특히 마이크로소프트가 독단적으로 관리한다는 점을 들어 VS 코드를 선호하지 않는 사람도 있다. VS코디엄(VSCodium)이라는 프로젝트는 VS 코드에서 마이크로소프트 브랜딩, 클로즈드 소스 요소, 텔레메트리를 빼고 핵심 오픈소스 구성요소를 리패키징한다. 이클립스의 테이아 IDE라는 또 다른 프로젝트는 여기서 더 ..

1. IT NEWS 2024.07.29

[JAVA] Semantics (High Level Programming Language)

안녕하세요? Dorothy입니다! 어우, 이제 제가 사는 이곳은 대프리카가 시작될 것만 같아요.이제 선글라스와 양산은 필수인 계절이 온 것입니다.. (시력보호와 피부/두피 를 위해ㅋ)각설하고, 아무리 더워도 할 공부는 해야겠죠? (흑흑)자, 시작해보겠습니다. 오늘은 고급 프로그래밍 언어의 공부 과정에서 중요한 개념인 시맨틱(Semantics)에 관해서 배워보도록 하겠습니다. 프로그래밍 언어에서 시맨틱(semantics)은 코드의 의미를 의미합니다. 즉, 코드가 작성된 의도와 실제로 어떻게 실행되는지를 나타냅니다.구문(syntax)이 코드의 문법적 구조를 다룬다면,시맨틱은 코드가 실제로 어떤 동작을 하는지,어떤 값을 생성하는지에 대한 규칙을 정의합니다.  쉽게 말해, 시맨틱은 코드를 읽고 이해하는 것과 같..

3. Java 2024.07.24

[JAVA Tutorials] #1 Lesson: Object-Oriented Programming Concepts

안녕하세요? 도무지 JAVA를 잘 모르겠지만 아무튼 열심히 하려고 하는 Dorothy입니다! (흑흑)오늘부터는 JAVA Tutorial을 차근차근 포스팅해드리겠습니다~ 집중해주세요!!  0. 필요성 및 배경.[튜토리얼]객체 지향 프로그래밍 언어를 처음 사용하는 경우, 코드를 작성하기 전에 몇 가지 기본 개념을 배워야 합니다. 이번 수업에서는 객체, 클래스, 상속, 인터페이스 및 패키지에 대해 소개합니다. 각 논의는 이러한 개념이 실제 세계와 어떻게 관련되는지에 중점을 두고, 동시에 자바 프로그래밍 언어의 문법을 소개합니다. 1. What is an Object? [ 도대체 객체가 뭔데?? ] 객체는 객체 지향 기술을 이해하는 데 핵심입니다. 지금 주위를 둘러보면 실세계의 객체에 대한 많은 예시를 찾을 수..

2. Java Tutorials 2024.07.23

[JAVA] 클래스(Class)의 개념

안녕하세요? 다시 돌아온 돌아버릴거같은 Dorothy입니다! (이유를 적으려다가  tmi 같아서 이하 생략..)   오늘은 1) 클래스(Class)와 객체(인스턴스)의 개념과 관계, 그리고 2) 객체지향프로그래밍(OOP)의 개념에 대해서 공부 해보겠습니다.   1] 클래스와 객체(인스턴스): 객체 지향 프로그래밍(OOP) 핵심 개념 1. 클래스 (Class)클래스는 객체를 생성하기 위한 청사진(설계도)입니다. 클래스는 객체가 가질 속성(데이터)과 행동(메서드)을 정의합니다. 클래스 자체는 구체적인 값을 가지지 않으며, 단지 객체를 만들기 위한 틀을 제공합니다.속성 (Attributes): 클래스가 가지는 데이터. 필드(field)라고도 합니다.메서드 (Methods): 클래스가 할 수 있는 동작. 함수라..

3. Java 2024.07.22

[JAVA] JVM 메모리 구조란? (자바 가상 머신에 대해서 AraBoJa)

안녕하세요? 오늘도 돌아온 Dorothy입니다.  오늘은 JVM 메모리 구조에 대해서 알아보도록하겠습니다.Java Virtual Machine, 줄여서 JVM 구조라고 하는데요, JVM은 JAVA structure에서 중요한 내용이므로 반드시 정확하게 그 개념과 구조에 대해서 숙지해야 하겠습니다.  자바 가상 머신(JVM)의 메모리 구조는 크게 다음과 같은 영역으로 나뉩니다: 메서드 영역 (Method Area)힙 영역 (Heap)자바 스택 (Java Stacks)PC 레지스터 (PC Registers)네이티브 메서드 스택 (Native Method Stacks)이와 같이 5개의 영역으로 이루어져 있는데요, 이를 알아보기 쉽게 도식화하면 다음과 같습니다.  1. 메소드 영역메소드 영역은 JVM의 메모리 ..

3. Java 2024.07.21

[JAVA] 고급 프로그래밍 언어(High Level Programming Language)

안녕하세요? Dorothy 입니다.오늘은 고급 프로그래밍 언어(High Level Programming Language)에 대해서 알아보겠습니다. 컴퓨터 과학에서 high-level programming language는 컴퓨터의 세부 사항으로부터 강한 추상화를 가진 프로그래밍 언어입니다.   이것을 이용하게 되면 low-level programming language와 대조적으로, 이는 자연 언어 요소를 사용할 수 있고, 사용하기 더 쉬울 수 있으며, 메모리 관리와 같은 컴퓨팅 시스템의 중요한 영역을 자동화하거나 (심지어 완전히 숨기기도 하여) 프로그램 개발 과정을 더 단순하고 이해하기 쉽게 만듭니다. 제공되는 추상화의 양이 프로그래밍 언어의 "high-level" 정도를 정의합니다.1960년대에는, ..

3. Java 2024.07.20

[JAVA] 자바 클래스 파일(feat. compiler)

안녕하세요? 자바를 유랑하는 유랑자이자 안내자가 되고 싶은 Dorothy 입니다!오늘은 자바 클래스 파일에 대해서 알아보겠습니다. (두둥!!!) 컴파일러는 소스 코드를 CPU의 기계어로 변환해주는 프로그램입니다. 일반적으로 하이 레벨 프로그래밍 언어의 소스 코드는 인간이 이해하기 쉽도록 작성되어 있고, 기계어는 컴퓨터가 이해하기 쉬운 형태입니다. 컴파일러는 이 두 가지 형태의 코드를 변환하여 소스 코드를 실행 가능한 형태로 만들어줍니다. 컴파일러는 일반적으로 소스 코드를 읽어들여서 문법에 맞는지 검사하고, 코드를 분석하고, 중간 코드를 생성하고, 최종적으로 기계어 코드를 생성합니다. 이 과정을 컴파일링이라고 합니다. 컴파일러는 소스 코드를 기계어로 변환하는 과정에서 성능 최적화나 보안 검사 등의 기능을 ..

3. Java 2024.07.19

[JAVA] All about JAVA [ JAVA란 무엇이냐? ]

안녕하세요? 오늘은 자바 프로그램과 그 배경이 되는 세계관 설명을 드리겠습니다.  일단, 자바 프로그래밍, 자바 웹 프로그래밍 그리고 스프링 부트 프로그래밍을 하기 위해서는 개발 환경이 필요합니다. 이것을 JDK(Java Development Kit)라고 하는데요, JDK는 최신 버전 뿐만 아니라, 이전 버전들을 선택할 수 있습니다. 1. Java(자바) 시작 이전의 역사Java는 현재 웹 어플리케이션 개발 언어이지만 처음부터 웹 서비스를 위해 만든 언어는 아닙니다.  임베디드 가전[디바이스] 시장의 성장을 예상한 그린(Green)팀이 임베디드 가전제품에 들어갈 다양한 OS와 CPU 에서 동작하는 독립적인 언어를 만드는 과정에서 Java는 태어났습니다. 1) 1990년_ 12월 전문가를 모으다워크스테이션..

3. Java 2024.07.18