본문 바로가기
반응형

언어10

[java] 삼항연산자 Java에서는 if-else문을 삼항연산자를 통해 한 줄로 코드를 작성할 수 있다.먼저, 삼항연산자의 구조는 아래와 같다.조건식 ? 참일때값 : 거짓일때값;예시:int number = 4;String result = (number % 2 == 0) ? "짝수" : "홀수";System.out.println(result); // 짝수 Java에서는 if-else if-else if-else와 같은 다중 if문을 중첩삼항연산자를 통해 한 줄로 코드를 작성할 수도 있다.중첩 삼항 연산자 구조:조건1 ? 반환값1 : 조건2 ? 반환값2 : 조건3 ? 반환값3 : 기본값;예시:int score = 85;String grade = (score >= 90) ? "A" : (score >= .. 2025. 4. 9.
[java] JVM 동작 방식 및 메모리 구조 일반적으로 대부분의 컴파일러는 컴파일과정을 통해 기계어로 작성된 실행 프로그램을 생성한다. 하지만 JAVA는 이와 달리 OS와 독립적인 특징으로 인해, 컴파일 과정에서 기계어가 아닌 바이트 코드로 작성된 .class 파일을 생성한다. 그렇다면 기계어로 번역하는 역할은 자바에서 누가 할까? 그것이 바로 JVM(Java Virtual Machine)의 역할이다.JVM은 OS와 프로그램 사이에서 컴파일과정을 통해 생성된 바이트코드(.java -> .class)를 기계어로 번역해주는 역할을 한다. 이 자세한 과정에 대해 알아보자.JVM 동작 방식개발자가 자바 소스코드(.java)를 작성한다.Build 라는 작업을 통해 자바 컴파일러의 javac 라는 명령어로 바이트코드인 .class 파일을 생성한다.컴파일된 바.. 2024. 12. 23.
[java] 접근제어자 범위가 큰 순public > protected > default > private private- 해당 클래스 내에서만 접근 가능public class Sample { private String secret; private String getSecret() { return this.secret; }}secret 변수와 getSecret 메서드는 오직 Sample 클래스에서만 접근이 가능하고 다른 클래스에서는 접근이 불가능하다. default- 자바의 기본 접근제어자- 같은 패키지 내에서만 접근 가능 house/HouseKim.javapackage house; // 패키지가 동일하다.public class HouseKim { String lastname = "kim"; .. 2024. 7. 23.
[java] HashMap 맵 자료형에는 HashMap, LinkedHashMap, TreeMap 등이 있다.맵의 가장 큰 특징은 순서에 의존하지 않고 key로 value를 가져오는 것이다. 그런데 가끔 Map에 입력된 순서대로 데이터를 가져오거나 입력한 key에 의해 정렬(sort)하도록 저장하고 싶을 수 있다. 이럴때는 LinkedHashMap과 TreeMap을 사용하면 된다.LinkedHashMap : 입력된 순서대로 데이터를 저장한다.TreeMap : 입력된 key의 오름차순으로 데이터를 저장한다.HashMap 사용 예:import java.util.HashMap;public class Sample { public static void main(String[] args) { HashMap map = new.. 2024. 7. 22.
[java] 제네릭스, ArrayList 제네릭스를 이용하면 형 변환과 관련된 불필요한 코딩을 줄일 수 있고, 잘못된 형 변환 때문에 발생하는 런타임 오류를 방지할 수 있다.  제네릭스를 사용하지 않은 예:ArrayList pitches = new ArrayList();pitches.add("138");pitches.add("129");String one = (String) pitches.get(0);String two = (String) pitches.get(1);제네릭스를 사용하지 않으면 ArrayList에 추가하는 객체는 Object 자료형으로 인식된다. Object 자료형은 모든 객체가 상속하고 있는 가장 기본적인 자료형이다. 따라서 ArrayList 객체인 pitches에 값을 넣을 때는 문제가 없지만 값을 가져올 때는 매번 Objec.. 2024. 7. 22.
[java] StringBuffer, StringBuilder, String 차이 문자열을 저장하는 타입으로 String, StringBuffer, StringBuilder 가 있다.각각 차이점은 아래와 같다.  String- immutable(불변)StringBuffer- mutable(가변)- 멀티 스레드 환경에서 안전StringBuilder- mutable(가변)- 단일 스레드 환경에서 주로 사용- 동기화 상관없는 환경에서는 StringBuffer보다 성능 우수  연산이 많은 경우 속도 등의 성능으로 봤을 때 StringBuilder > StringBuffer > String 순으로 성능이 좋다. 2024. 7. 22.
반응형