java 29

[Spring] OCP(Open-Closed Principle, 개방-폐쇄 원칙)

OCP(Open-Closed Principle, 개방-폐쇄 원칙)은 객체 지향 프로그래밍의 SOLID 원칙 중 하나로, 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다는 원칙을 의미합니다. 즉, 기존 코드를 수정하지 않고 새로운 기능을 추가할 수 있도록 설계해야 한다는 것입니다. 1) OCP의 주요 개념확장에 열려 있어야 한다(Open for extension): 새로운 기능이나 요구사항이 생길 때, 기존 코드를 변경하지 않고 확장할 수 있어야 합니다.변경에 닫혀 있어야 한다(Closed for modification): 기존의 잘 작동하는 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 합니다. 이를 통해 기존 기능의 안정성을 유지할 수 있습니..

4. Spring 2024.09.02

[Java Tutorials] #12 Lesson: Interfaces and Inheritance[Inheritance 2]

안녕하세요? 이제 드디어..! 9월이네요~~ 가을느낌이 물씬~그러나 그 동안 컨디션 난조로 올리지 못한 공부를 해야하고..밀린 포스팅을 올려야 해서 잔뜩 기합이 들어간 Dorothy 입니다.바로 시작해보도록 할게요. 일단 한번 시작해볼게요~!! 월요팅~~!! 1. Polymorphism[공식 튜토리얼] 다형성의 사전적 정의는 유기체나 종[species]이 다양한 형태나 단계를 가질 수 있는 생물학의 원리를 의미합니다. 이 원칙은 객체 지향 프로그래밍 및 Java 언어와 같은 언어에도 적용될 수 있습니다. 자바 클래스의 하위 클래스는 고유한 동작을 정의하면서도 상위 클래스와 동일한 기능 중 일부를 공유할 수 있습니다. 다형성은 Bicycle 클래스를 약간 수정하여 시연할 수 있습니다. 예를 들어, 현재 인..

2. Java Tutorials 2024.09.02

[Java Tutorials] #10 Lesson: Interfaces and Inheritance[Interfaces]

안녕하세요? 자도 자도 졸린.. (닭병든) Dorothy입니다. 오늘은 어제에 이어서 10강을 들어가볼텐데요, 인터페이스와 구현에 대해서 알아볼게요.자자, 집중해주시면 감사하겠습니다. 오늘은 조금 양도 많고 까다로운 부분이 있지만, 할 수 있습니다!! 아자아자~~ Interface이전 강의에서 인터페이스 구현의 예를 보았습니다. 여기에서 인터페이스에 대한 자세한 내용을 읽을 수 있습니다. 인터페이스의 용도, 인터페이스를 작성하려는 이유, 작성 방법 등이 있습니다. Inheritance이 섹션에서는 특정 클래스를 다른 클래스에서 파생시키는 방법을 설명합니다. 즉, 하위 클래스가 상위 클래스의 필드와 메서드를 상속할 수 있는 방법입니다. 모든 클래스가 Object 클래스에서 파생된다는 사실과 하위 클래스가 ..

2. Java Tutorials 2024.08.23

[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