java 36

[Java] 배열(Array)과 리스트(List)

배열과 리스트는 데이터를 저장하고 관리하는 기본적인 자료 구조입니다. 두 자료 구조는 각각의 특성과 장단점이 있으며,  용도에 따라 적합한 선택이 필요합니다.    1. 배열 (Array)1) 특징고정 크기: 배열은 생성 시 크기가 정해지며, 이후에는 크기를 변경할 수 없습니다.인덱스 접근: 배열의 요소는 인덱스를 통해 O(1) 시간 복잡도로 접근할 수 있습니다.동일한 데이터 타입: 배열의 모든 요소는 동일한 데이터 타입을 가져야 합니다. 2) 장점빠른 접근 속도: 인덱스를 통해 요소에 바로 접근할 수 있어 매우 빠릅니다.메모리 효율성: 요소들이 연속된 메모리 공간에 저장되어 있어 메모리 접근이 효율적입니다.간단한 구조: 구조가 단순하여 오버헤드가 적습니다.3) 단점고정 크기: 배열의 크기를 동적으로 변..

3. Java 2024.08.23

[Java Tutorials] #9 Lesson: Classes and Objects 4[Lambda, Enum]

안녕하세요, Dorothy 입니다. 점심시간이 다되어오니 너무 배고프네요,, 일단 빠르게 시작해볼게요...오늘은 익명 클래스와 관련된 람다 표현식(Expression)을 배워보겠습니다. ^.^ 1. Lambda Expressions익명 클래스의 한 가지 문제는 익명 클래스의 구현이 메서드가 하나만 포함된 인터페이스와 같이 매우 간단한 경우 익명 클래스의 신택스가 다루기 힘들고 명확하지 않게 보일 수 있다는 것입니다. 이러한 경우 일반적으로 누군가가 버튼을 클릭할 때 어떤 작업을 수행해야 하는지와 같은 기능을 다른 메서드에 아규먼트로 전달하려고 합니다. 람다 expression을 사용하면 특정 기능을 메서드 아규먼트로 처리하거나 코드를 데이터로 처리할 수 있습니다. 이전 섹션인 익명 클래스에서는 이름을 지..

2. Java Tutorials 2024.08.22

[Java Tutorials] #8 Lesson: Classes and Objects 3 [Nested Classes, Local and Anonymous Classes]

안녕하세요, 흐린날이지만 기분은 차분해져서 좋은 Dorothy입니다. 아유.. 오늘은 왠지 정신이 하나도 없네요. 바로 이어서 공부해보도록 하겠습니다. 오늘은 중첩클래스에 대해서 배워볼게요. 시작합니당! 1. Nested Classes자바 프로그래밍 언어에서는 한 클래스 내에 다른 클래스를 정의할 수 있습니다. 이러한 클래스를 Nested Class(중첩 클래스)라고 하며, 여기서 그 예를 보여줍니다.class OuterClass { ... class NestedClass { ... }} 용어: 중첩 클래스는 두 가지 범주로 분류됩니다:non-static 과 static.Non-static 중첩 클래스는 inner 클래스라고 합니다.static으로 선언된 중첩 클래스들은 st..

2. Java Tutorials 2024.08.21

[JAVA Tutorials] #7 Lesson: Classes and Objects 2

안녕하세요? Dorothy입니다. 어제에 이어, 오늘은 클래스와 객체에 대해서 공부하겠습니다. 점점 내용이 방대해지기는 하지만, 이 모든 내용들은 유기적으로 연계되어있는 내용이기에 알고리즘을 이해하고 숙지하면 됩니다. 자, 그럼 시작합니다! 1. Objects일반적인 자바 프로그램은 많은 객체를 생성하며, 이 객체들은 메서드를 호출하여 상호 작용합니다. 이러한 객체 상호 작용을 통해 프로그램은 GUI 구현, 애니메이션 실행, 네트워크를 통한 정보 송수신 등 다양한 작업을 수행할 수 있습니다. 객체가 생성된 목적을 다하면, 해당 객체의 자원은 다른 객체에서 재사용할 수 있도록 회수됩니다.다음은 CreateObjectDemo라는 작은 프로그램으로, 이 프로그램은 하나의 Point 객체와 두 개의 Rectan..

2. Java Tutorials 2024.08.20

[JAVA Tutorials] #5 Lesson: Control Flow Statements

안녕하세요? 제가 왔습니다!! 네,, 낮술 한 잔 한 Dorothy 입니다.오늘은 광복절이니깐.. 점심에 반주로 막걸리 일병 정도는 괜찮..지 않을까요..?(안된다고 해도 어쩔수 없어요.. 이미 다 마셔버렸기 때문에..) 무튼, 얼큰히 기분 좋은 상태에서 오늘의 공부를 시작합니다~! > 소스 파일 내부의 statements은 일반적으로 위에서 아래로, 순서대로 실행됩니다. 그러나 제어 흐름 statements은 결정 만들기, 반복, 분기를 사용하여 실행 흐름을 분할함으로써 프로그램이 조건부로 특정 코드 블록을 실행할 수 있도록 합니다. 이 섹션에서는 자바 프로그래밍 언어가 지원하는 결정-만들기 statement(if-then, if-then-else, switch), 반복 statement(for, wh..

2. Java Tutorials 2024.08.15

[IT News] 새로운 자바스크립트가 이전 자바스크립트와 다른 11가지 이유

자바스크립트는 세계에서 가장 성공적이고 다재다능한 프로그래밍 언어 중 하나지만 처음부터 그랬던 것은 아니다. 지금의 자바스크립트는 자바스크립트를 만든 사람들이 원래 구상했던 언어와 완전히 다른 언어다. 그 11가지 이유를 살펴보자. 1995년 큰 꿈을 갖고 모인 소수의 프로그래머들이 자바스크립트를 출범했다. 원래 이들이 생각했던 이름은 모카(Mocha)나 라이브스크립트(LiveScript)였지만 유행에 밝았던 몇 사람이 이미 상당한 인기를 끌고 있던 자바 언어의 시류에 올라타기로 했다. ⓒ Getty Images Bank  새로운 스크립팅 언어의 처음 목표는 단순해서, 정적 웹 페이지에 생명력을 좀 불어넣자는 것이었다. (당시 웹 페이지에서 움직이는 부분은 태그밖에 없었다. 이 태그는 오래전에 사라졌지..

1. IT NEWS 2024.08.11

[JAVA Tutorials] #4 Lesson: Expressions, Statements, and Blocks

안녕하세요? 오랜만에 포스팅을 쓰는 Dorothy입니다!하아,, 그 동안 많은 일이 있었으나,, TMI이기때문에,,, (Feat. 난카이 대지진 ㅂㄷㅂㄷ)무튼, 지진이 나건 말건 해야 할 공부는 해야하고,포스팅도 엄청 밀렸으니 다시 공부를 시작해보도록 할게요~집중해주세요!!  1. Expressions, Statements, and Blocks이제 변수와 연산자에 대해 이해했으므로, Expression, Statements, 그리고 Block에 대해 배울 시간입니다. 연산자는 값들을 계산하는 Expression을 만드는 데 사용될 수 있습니다; Expression은 Statement의 핵심 구성 요소입니다; Statement 들은 블록으로 그룹화될 수 있습니다. 1) ExpressionsExpressio..

2. Java Tutorials 2024.08.11

[JAVA Tutorials] #3 Lesson: Language Basics - Operators

안녕하세요? Dorothy입니다. 오늘은 오랜만에 Java Tutorial 3편을 들고 왔습니다. 자, 그럼 지체없이 바로 시작합니다! 1. Operators 변수를 선언하고 초기화하는 방법을 배웠으니 이제 그 변수들을 활용하는 방법에 대해 알고 싶을 것입니다. 자바 프로그래밍 언어의 연산자를 학습하는 것은 좋은 시작입니다. 연산자는 특정 작업을 수행하는 특수 기호로, 하나, 둘 또는 셋의 피연산자에 대해 작업을 수행한 다음 결과를 반환합니다.자바 프로그래밍 언어의 연산자를 탐색하는 동안 연산자의 우선순위가 높은 것부터 미리 알고 있으면 도움이 될 수 있습니다. 다음 표에 나열된 연산자는 우선순위 순서대로 나열되어 있습니다. 표의 맨 위에 나타나는 연산자일수록 우선순위가 높습니다. 우선순위가 높은 연산자..

2. Java Tutorials 2024.08.06

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

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

3. Java 2024.07.30

[JAVA] Semantics (High Level Programming Language)

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

3. Java 2024.07.24