728x90
반응형

전체 글 95

[Java] 인터페이스와 다형성

인터페이스인터페이스란 "이 클래스는 이러한 기능들을 반드시 가지고 있어야 해" 라는 규칙을 정해놓은 설명서 같은 개념이다. 클래스가 반드시 구현해야하는 메서드의 목록만 담겨있다.public interface RemoteControl { void turnOn(); void turnOff();}public class TV implements RemoteControl { public void turnOn() { System.out.println("TV를 켭니다"); } public void turnOff() { System.out.println("TV를 끕니다"); }}리모콘의 경우로 예시를 살펴보면 켜기/끄기 기능은 꼭 있어야 한다는 약속을 정한 것이..

Dev./Java 2025.10.15

[Java] 배열 만들기 4

문제 설명정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다.stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다.위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요.Pseudo Code 초기화stk → 결과 배열idx → arr 순회 인덱스반복 조건idx 조건 ..

알고리즘 2025.10.15

[Java] Java 메서드(Method) 와 객체화

메서드(Method)기능 단위로 묶인 코드 블록입력(매개변수) -> 처리(작성된 로직) -> 출력(리턴값) 객체지향에서 객체의 행동을 정의한가지 기능만 수행반복되는 코드는 메서드로 분리기본 구조[접근제어자] [리턴타입] 메서드이름([매개변수]) { // 수행할 코드 return 값; // 리턴 필요 시}public int add(int a, int b) { return a + b;} 접근제어자: public, private, protected, 생략(default)리턴타입: 반환값 자료형, 없으면 voidpublic void printHello() { System.out.println("Hello!");}매개변수: 타입과 변수명 필수접근 제어자 범위public → 어디서나 ..

Dev./Java 2025.10.14

[Java] 특별한 이차원 배열1

문제 설명정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요.arr[i][j] (0 ≤ i, j n)의 값은 i = j라면 1, 아니라면 0입니다.내코드class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; for(int i=0; i답은 맞았지만 정말 기본적인 부분을 놓치고 있었음Java에서 int[]나 int[][] 같은 기본형 배열은 자동으로 0으로 초기화 즉 new int[5] 는 {0,0,0,0,0}로 셋팅이 된다. 그렇다면 for문을 1번만 돌려도 됬었다는 얘기내 코드에서는 else 분..

알고리즘 2025.10.14

[Java] HashSet

HashSet이란Set 인터페이스의 구현체중복을 허용하지 않고, 순서를 보장하지 않는 집합 자료구조내부적으로 HashMap을 이용하여 구현됨HashSet의 내부 동작 원리HashSet은 내부적으로 HashMap을 이용해서 동작한다. HashSet에 값을 추가하면 → 그 값이 HashMap의 key로 들어가는 형태.해시 함수데이터를 넣을 때 해시 함수를 통해 해시 값을 계산 -> 이 해 시값을 이용해 데이터 저장 버킷(bucket) 위치 결정set.add("apple");//"apple"의 해시코드 계산 -> 특정 버킷에 저장충돌 처리서로 다른 값이 같은 해시값 가질 가능성 -> 같은 버킷 안 연결 리스트( or 트리 구조)에 이어 저장조회 속도 빠른 이유배열(int[]나 ArrayList)에서 conta..

Dev./Java 2025.10.10

[Java] .equals()와 ==의 차이

== 연산자구분종류비교 특징기본형byte, short, int, long, float, double, char, boolean값 비교값 자체를 저장, 객체가 아님참조형String, 배열(int[]), 클래스 객체 등주소 비교실제 값은 힙에 저장, 변수는 객체 주소를 가짐//기본형int a = 5;int b = 5;System.out.println(a == b); // true (값 비교)//참조형String s1 = new String("hello");String s2 = new String("hello");System.out.println(s1 == s2); // false (서로 다른 객체).equals() 메소드객체의 내용 자체를 비교대부분의 클래스(String, Integer 등)는 equals(..

Dev./Java 2025.10.03

[Java] 타입 변환 (int, double, char, String)

String s = "123";int n = Integer.parseInt(s); // int 변환double d = Double.parseDouble(s); // double 변환개념 형변환(Casting)이란 데이터 타입을 다른 타입으로 바꾸는 것을 의미한다.Java는 강타입 언어로 타입이 다르면 연산, 대입이 불가능하기때문에 형변환을 반드시 해주어야한다.종류자동 형변환(묵시적)작은 타입 → 큰 타입으로 자동 변환데이터 손실 가능성이 없는 경우에만 가능int n = 10;double d = n; // 자동으로 int → doubleSystem.out.println(d); // 10.0byte → short → int → long → float → double강제 형변환(명시적)큰 타입 → 작..

Dev./Java 2025.10.02
728x90
반응형