Java 7

KT 에이블스쿨 2차 코딩 마스터스 및 코드 리뷰

안녕하세요~!드디어 KT 에이블스쿨 코딩 마스터스 2차도 마무리되었습니다. 마음 같아서는 70~80문제를 꼭 완수하고 싶었으나 문제가 1차에 비해 훨씬 어려워서 쉽지 않더라고요ㅠㅠ구현 쪽보다는 알고리즘을 요하는 문제들, 그리고 웰노운 문제가 아니고, 기업 코테에 잘 등장하지 않는 유형들도 꽤 존재했습니다. 그래서인지 다른 에이블러 분들도 1차에 비해 참여율도 저조했을 뿐만 아니라, 점수도 1차에 비해 높은 편은 아니더라고요그만큼 어렵긴 했구나 라는걸 느낄 수 있었습니다..!(그래도 이 와중에 잘하는 사람은 잘한다는..) 저는 2차 코딩마스터스 최종 8위, 총 52문제를 풀었습니다! 이번 2차 코딩 마스터스는 1차와 달리 초급 20문제, 중급 50문제, 고급 30문제, 총 100문제로 구성되어 있었습니..

자바 JAVA 클래스 상속(extends) 과 오버라이딩 VS 오버로딩 차이

안녕하세요!!이번 포스팅은 자바의 상속 개념과 오버라이딩, 그리고 오버라이딩과 오버로딩의 차이까지 살펴보겠습니다. 1. 상속 개념- OOP(Object-Oriented Programming)의 핵심 중 하나인 상속은 부모 클래스의 속성과 기능을 자식 클래스가 물려받는 것을 말함.- 상속이 필요한 이유는 중복 코드를 줄이고, 확장성을 좋게 만들기 위함.(확장하기 때문에 자식 클래스는 대체로 부모 클래스보다 속성이나 동작이 더 많음) * 용어 정의- 부모 클래스(= 슈퍼 클래스 = 기본 클래스)- 자식 클래스(= 서브 클래스 = 파생 클래스 = 확장 클래스) (1) 코드 재사용자식 클래스는 부모 클래스에서 물려받은 멤버를 그대로 사용하거나 변경할 수 있고, 새로운 멤버도 추가할 수 있음. (2) 유지보..

JAVA 2025.11.25

자바 JAVA 클래스(class) 선언과 객체 생성

안녕하세요!이번 포스팅은 자바 클래스와 객체에 대해서 자세히 알아보겠습니다. 1, 클래스 선언 및 구성 요소1) 필드(field)- 객체의 속성을 나타냄. 멤버 변수라고도 함.- 보통 필드는 캡슐화를 위해 private으로 지정하고, 외부 접근을 불가하도록 함.대신 필요한 경우에 한해서 setter와 getter를 통해 필드를 다루는 것이 일반적 * 특히 setter는 필드값을 외부에서 변경할 수 있도록 하는 메서드를 말하는데,setter는 반드시 필요한 경우에만 만들고 가능하다면 불변성을 유지하기 위해 만들지 않는 것이 더 좋음 * 필드 VS 지역 변수 차이- 지역 변수 : 메서드 내부에 선언된 변수. 매개 변수도 일종의 지역 변수임. 필드는 기본값이 있지만, 지역 변수는 기본값이 없어 반드시 초기화..

JAVA 2025.11.23

자바 JAVA 열거 타입 (enum)

안녕하세요!이번 포스팅은 자바의 열거 타입 enum에 대해 포스팅해 보겠습니다! 1. 열거 타입(enum)1) 개념제한된 수의 일이나 사건을 숫자로 표현하니 각 숫자에 대해 부여된 의미를 개발자가 모두 숙지하고 있어야 해서 사건에 대한 경우의 수가 많다면 개발자 관점에서는 불편함. 그래서 자바 5부터 열거 타입 제공=> 서로 연관된 사건들을 모아 상수로 정의한 java.lang.Enum 클래스의 자식 클래스 2) 선언 및 사용 방법- enum 열거타입이름 { 상수목록 }- enum은 컴파일 시점에 JVM에 의해 미리 자동 생성된 상수 객체들을 제공하는 특수 클래스- 개발자는 직접 객체를 생성(new) 하지 않고, enum 타입 이름과 상수 이름을 사용하여 상수를 참조 3) enum 특징- 일종의..

JAVA 2025.11.23

자바 JAVA 문자열 String 함수 & 사용법 총 정리

안녕하세요~!이번 포스팅은 자바 문자열 함수에 대해 정리해 보겠습니다.실무에서도 많이 사용되고, 코딩테스트에서는 특히나 빠지지 않는 게 문자열 다루기인데요.그만큼 중요하니 필요한 함수는 꼭꼭 암기해 둡시다!! 1. 문자열 선언과 생성- 리터럴("문자열") 방식은 문자열 풀(String Pool)에 저장되어 재사용- new String("문자열")은 Heap 영역에 새로운 객체를 생성. - 내용이 같은 문자열 리터럴의 경우, 더 이상 새로운 String 객체를 생성하지 않고, 기존 리터럴 공유- 따라서 아래 s1과 s2는 동일한 String 객체를 가리킴- 리터럴을 공유한 인스턴스의 저장 주소값은 동일 - new String("문자열")을 통해 생성한 두 문자열의 경우, 내용이 같아도 두 객체는 서로 다..

JAVA 2025.11.23

자바 JAVA 연산자와 자동 형변환 & 오버플로우 / 언더플로우

안녕하세요~!이번 포스팅은 자바 연산자에 대해 총 정리하고, 자동 형변환과 오버플로우 / 언더플로우 개념에 대해서도 함께 살펴보겠습니다.1. JAVA 연산자 종류1) 형변환 연산자(cast) 하나의 항을 형 변환해 주는 연산자 * 자동 형변환작은 타입 -> 큰 타입으로 자동 변환(byte -> short -> int -> long -> float -> double) 연산 시 피연산자 중 큰 자료형으로 자동 승격실제 타입 확인 : Object로 저장 후 .getClass().getName() 2) 산술 연산자+, -, *, /, %, +=, -=, *=, /=, %=항 두 개나 좌우의 항을 더하거나 빼는 등 가장 기본 연산을 하는 연산자 - 단항 연산자(Unary Operator) : ++a, a--,..

JAVA 2025.11.23

자바 JAVA 변수의 타입 정리 (int, long, double, String 등) + 스택과 힙 메모리

안녕하세요~!이번 포스팅은 자바 변수 타입에 대해서 정리하고, 스택과 힙 메모리에 대해서도 살펴보겠습니다. 1. 변수 타입 종류 2가지1) 기본형 타입(Primitive Type)- 실제 값을 Stack 메모리에 저장- 표현 범위 벗어나면 오버플로우 혹은 언더플로우 발생- 정수형, 실수형, 문자형, 논리형으로 구분 - byte, short, int, long, float, double, char, boolean 8종류(모두 소문자로 시작하는 특징) * 정수형 타입(byte / short / int / long)- 부호 가짐. 소수가 없는 숫자 - byte(1바이트) : -128 ~ 127- short(2바이트) : -32,768 ~ 32,767- int(4바이트) : -2,147,483,648 ~ 2..

JAVA 2025.11.20