Language/JAVA 33

[JAVA] 컴파일(compile) / 빌드(build)

📍요약컴파일빌드소스 코드를 바이너리 코드로 변환소스 코드 파일을 실행 가능한 소프트웨어 산출물로 변환(컴파일 후 링크 과정에 포함) ✅ 빌드소스코드(.java) ▶ 목적코드(.class) ▶ 실행파일(.exe) ▶ RUN 소스코드 파일을 실행 가능한 소프트웨어로 만드는 과정빌드툴 제공 기능 (빌드를 수행하는 도구)전처리, 컴파일, 패키징, 테스팅, 배포 ex) Ant, Maven, Gradle ✅ 컴파일 / 빌드 과정 소스코드 ( .java ) | | 1️⃣ 컴파일 | 1) 개발자가 작성한 코드를 기계어 변환 | 2) 기계어로 변환된 파일은 Object 파일 | ▼목적코드 ( .cla..

Language/JAVA 2025.01.15

[JAVA 함수] 문자 바꾸기: split(), join()

✅ split()문자열을 지정한 구분자를 기준으로 나누어 배열로 반환string.split(separator, limit) ex)var str = "Apple, Banana, Orange";var arr = str.split(", "); // ['Apple', 'Banana', 'Orange']var str = "2024/06/13";var arr = str.split("/"); // ['2024', '06', '13'] ✅ join() 배열의 모든 요소를 하나의 문자열로 결합하는데 사용array.join(separator) ex)var arr = ["apple", "banana", "orange"];var str = arr.join(", "); // "apple, banana, orange"..

Language/JAVA 2024.06.17

[JAVA 기초 이론] java 객체지향

👀 한 눈에 알아보기개념설명키워드상속부모 클래스의 기능을 자식 클래스가 물려받음 extends 추상 클래스객체로 만들 수 없고, 자식 클래스에서 구현해야 함 abstract 인터페이스메서드만 정의된 설계서, 다중 구현 가능 interface , implements 다형성하나의 타입이 여러 형태의 객체를 참조할 수 있음참조 타입캡슐화데이터 보호를 위한 접근 제어 private , getter / setter 1️⃣ 상속 (Inheritance)기존 클래스의 기능을 재사용새로운 기능을 추가하거나 변경기본 구조)public class A{}class B extends A{} ex)// 부모 클래스 (Super class)public class Animal { void sound() { ..

Language/JAVA 2024.02.21

[JAVA 기초 이론] 인터페이스: interface

✅ 인터페이스객체 지향 프로그래밍에서 특정한 동작이나 기능을 정의하는 추상적인 개념클래스가 가져야 하는 메서드의 시그니처를 정의하고, 해당 메서드들을 구현하는 클래스는 인터페이스를 구현다형성(polymorphism)을 구현하고, 객체 간의 관계를 정의// 인터페이스 정의interface Animal { void sound(); // 추상 메서드}// 인터페이스를 구현하는 클래스class Dog implements Animal { public void sound() { System.out.println("Dog barks"); // 추상 메서드 구현 }} ✋ 인터페이스 사용 이유 ▶ 다중 상속 가능자바는 클래스 딱 한개만 상속받을 수 있는데 인터페이스는 여러 개의 부모 클..

Language/JAVA 2024.02.20

[JAVA이론] StringBuffer / StringBuilder

String, StringBuffer, StringBuilder 모두 문자열을 저장하고, 관리하는 클래스 📍 비교StringBufferStringBuilder문자열 수정, 추가 가능문자열 수정, 추가 가능내부에서 동기화(synchronized) 지원동기화 없음스레드 안전(Thread Safe)스레드 안전하지 않음속도 보통속도 빠름멀티 스레드단일 스레드 ✋ 스레드?더보기더보기스레드(Thread)는 프로세스(Process) 안에서 실행되는 작업의 가장 작은 단위하나의 프로그램(프로세스) 안에서 동시에 여러 일을 처리하기 위한 실행 흐름 📌 비유프로세스 = 회사 (건물, 자원, 인력 모두 포함)스레드 = 직원 (실제로 일하는 사람)한 회사(프로세스) 안에 여러 직원(스레드)이 동시에 다른 일을 할 ..

Language/JAVA 2024.02.19

객체지향 프로그램(OOP)의 특성

"객체지향"으로 넘어오면 "질문"이 바뀐다 이거 짝수야 3,6,9게임의 알고리즘 작성해줘 배열에 NUM가 있어? ▼▼ 자동차 코딩해줘 학생부 프로그램을 제작하고 싶어 학생 데이터 만들어줘 스마트폰 코딩해줘 객체지향 프로그램(OOP)의 특성 4가지 특성 추상화 캡슐화 상속 다형성 ✅ 1. 추상(설계가 중요) abstract class ex) "자동차" 코딩해줘 스포츠카: 속도,브레이크() 버스: 탑승인원, 요금정산() 차: 주유상태출력,벨트,네비게이션() > 어떻게 정의하냐에 따라 서로 다른 OUTPUT이 생성, 그래서 설계가 중요! ​ ✅ 2. 캡슐화(모듈화,컴포넌트화) 내부 구성성분을 몰라도, 효과를 알면 우리는 그냥 먹는다. 내부 로직코드를 정확히 몰라도 INPUT, OUTPUT 기능 활용하는 상황 ..

Language/JAVA 2023.05.26

[JAVA 기초 이론] MVC패턴

MVC MVC 템플릿을 제공하는 Spring 프레임워크 📌 MVC의 장점 유지보수 용이 모듈화를 강제해서 개발의 편의성 도모 ex) 레고-블록이 작을수록 다양한 output 프로젝트 코드가 '낮은 결합도'를 가짐 프로젝트 코드가 '높은 응집도'를 가짐 M V C Model View Controller 데이터(DB)와 연결 사용자가 보는 화면 V ↔ M 을 연결하는 파트 ✅ M ---- Model (모델) : 데이터(DB)와 관련된 로직을 담당하는 파트 DB에서 데이터를 다루는 방법에 대한 코딩 == SQL DB의 데이터 JAVA 환경 == JDBC, DAO CRUD 기능을 구현하는 파트(사용자에 제공할 서비스를 코딩) ✅ V ---- View (뷰) : 사용자가 보는 화면에 대한 모든것을 담당하는 파트 ..

Language/JAVA 2023.05.24

[JAVA 기초 이론] 집합: Set

✅ set순서가 없다 ( index X )중복 허용 X다양한 자료형 저장 가능HashSet data = new HashSet(); 📍 set 특성데이터를 비순차적으로 저장insert한 데이터가 순서대로 저장되지 않음중복해서 삽입 불가능 ✅ 제네릭 HashSet data = new HashSet(); 제네릭을 사용하여 같은 자료형만 허용 ex)package class01;import java.util.HashSet;import java.util.Set;public class Test02 { public static void main(String[] args) { // 추상클래스 Set // Set류의 부모클래스 HashSet data=new HashSet(); // 집합(..

Language/JAVA 2023.05.22

[JAVA 기초 이론] 스레드 Thread

스레드 프로그램 실행의 기본 단위로, 하나의 프로세스 내에서 독립적으로 실행될 수 있는 흐름 프로세스 내에서 각각의 독립적인 작업을 수행하며, 여러 스레드가 동시에 실행 여러 작업을 병렬로 실행하거나, 프로그램의 반응성을 높이는 등의 다양한 목적으로 활용 이미 JAVA에서 구현한 Thread 클래스를 가져다가 사용 📍 스레드 생명주기 스레드 객체가 생성이 되면, 즉시 대기 → 수행 → 데드 ex) Th01 t1 = new Th01(); → 대기 → start() ... run() → 데드 start() 스레드 객체야, 일해! -> run()메서드를 실행시켜 수행하게 됨 📌 Thread 구현 방법 스레드 상속 class 클래스명 extends Thread{ @Override // run() 필수로 생성 :..

Language/JAVA 2023.05.22

[JAVA 기초 이론] 오버로딩 / 오버라이딩

오버로딩 오버라이딩 기존에 없던 새로운 메서드를 정의 상속받은 메서드의 내용만 변경 오버로딩 오버라이딩 매개변수 다름 동일 메서드 명 동일 동일 리턴값 다름 동일 ✅ 오버로딩 OverLoading 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하여 구현 가능 메서드에 사용되는 이름을 절약 가능 📌 오버로딩 조건 한 클래스 내에서 메서드 명이 동일 매개변수의 개수 / 타입이 달라야함 매개변수는 같고 리턴타입이 다른 경우 오버로딩이 성립 x ex) class OverLoading { void print(int a){ System.out.println(a); } void print(String s){ System.out.println(s); } void print(int a, int b){ System.o..

Language/JAVA 2023.05.22