본문 바로가기

전체 글

(93)
[백준/02-02] 10950 A+B - 3 NO.10950 풀이코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int arr[] = new int[T]; for(int i=0; i
[백준/03-01] 2739 구구단 NO.2739 풀이코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); StringTokenizer st = new StringTokenizer(str, " "); int N = Integer.parseInt..
[JAVA] UpCasting & DownCasting 1. 자바의 참조형 캐스팅 1-1. 캐스팅 형변환(캐스팅, 타입변환) ⇒ 하나의 데이터 타입을 다른 타입으로 바꾸는 것 ⇒ Why? 대입 연산자(=) 에서 변수와 값의 타입이 일치하지 않으면 할당이 불가능하기 때문 📌 자바의 데이터형 (타입간의 형변환(casting) 가능) 기본형(primitive type) - Boolean Type(boolean) - Numeric Type(short, int, long, float, double, char) 참조형(reference type) - Class Type - Interface Type - Array Type - Enum Type - 그 외 다른 것들 1-2. 참조형 캐스팅 클래스 자료형변환 상속 관계에 있는 부모(슈퍼 클래스)와 자식(서브 클래스) 간에는..
[JAVA] 추상클래스 1. 추상 메서드와 추상 클래스 1-1. 추상메서드 미완성형 함수(선언만 하고 정의되지 않은 상태 => 헤더 o, 바디(구현부) x) 작성되어있지 않은 구현부는 자식클래스에서 오버라이딩하여 사용 ⇒ 상속받는 클래스에서 다형성을 실현하도록 하기 위함 1-2. 추상클래스 추상메서드를 하나 이상 포함한 클래스 → UPCASTING 용으로 사용됨 ⇒ 추상메서드가 있으면 반드시 선언, 추상메서드가 없어도 추상클래스로 선언 가능 추상클래스는 동작이 정의되지 않은 미완성형이므로 객체 생성 불가 ⇒ super() 메소드를 이용해 추상 클래스 생성자 호출 가능 ⇒ 상속을 통해 자식클래스를 만들고 자식클래스에서 추상메소드를 오버라이딩해야 객체 생성 가능 ⇒ 추상클래스를 상속받고 추상메서드를 오버라이딩하지 않으면 해당 클래..
[JAVA] 배열 1. 배열 자료형 배열(array) : 하나의 블록안에 여러 데이터들을 연속적으로 저장함으로써 데이터를 구조적으로 다룸 배열 요소(element) : 배열을 구성하는 각각의 값 인덱스(index) : 배열에서의 위치를 가리키는 숫자 1-1. 배열 선언 & 초기화 []로 배열을 선언할때 미리 공간의 갯수(길이)를 지정 ⇒ 공간의 제약이 생김 배열의 타입(int)을 지정해 저장할 데이터의 자료형 명시 ⇒ 인덱스(index) 번호를 통해 배열에 접근 가능 1-2. 배열 출력 System.out.println() 으로 배열 변수 출력시 메모리에 있는 배열의 주소값(타입@주소) 반환 - 단, char 형 배열(문자)은 println() 으로 출력 가능 배열 요소 출력 - for 문을 이용해 배열 각 원소들을 순회..
[JAVA] 타입변환 1. 타입 변환 (Type Conversion) 하나의 타입을 다른 타입으로 바꾸는 것(= 형변환) ex) byte → int / int → byte 연산 수행시 같은 타입만 가능 → 형변환 필요 - 낮은 자료형으로는 강제 형변환 (데이터의 손실 발생) - 높은 자료형으로는 자동 형변환 기본 자료형 중 boolean 제외 모든 자료형은 형변환 가능 2. 자동 형변환 (Promotion) 묵시적 / 암시적 형변환 프로그램 실행 도중 자동으로 타입 변환 - 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 - 기존의 값을 최대한 보존할 수 있는 큰 타입으로는 자동 형변환 가능 (데이터 손실 최소화) 자동형변환 가능 방향 2-1. long & float 타입 크기 메모리 설계상 정수 타입보다 실수..
[JAVA] 자료형 1. 정수 자료형 수형 타입 메모리의 크기 데이터의 표현 범위 byte 1바이트 -128 ~ 127 short 2바이트 -215 ~ (215 - 1) -32,768 ~ 32,767 int 4바이트 -231 ~ (231 - 1) -2,147,483,648 ~ 2,147,483,647 long 8바이트 -263 ~ (263 - 1) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 📌 대입하는 숫자 값이 int 자료형의 최대값보다 큰 경우 long 사용 long 변수에 값을 대입할 때는 값 뒤에 L 접미사 붙여야 에러 발생X 1-1. 정수 오버플로우 / 언더플로우 데이터 표현 범위를 벗어남 → 전혀 다른 값(데이터손실) ∴ 데이터의 최소/최대 크기 고려 오버플..
[JAVA] 변수 1. 변수(Variable) 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간 데이터 타입(자료형) - 변수에 적재할 데이터가 메모리에 어떻게 저장되고 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 키워드 2. 기본형 변수(Primitive Type) 실제 값 저장 소문자 시작 비객체 타입 → null X (기본값有) 변수의 선언과 동시에 메모리 생성 모든 값 타입은 메모리의 스택(stack)에 저장 타입 메모리 크기 기본값 데이터의 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32,768 ~ 32,767 int(기본) 4 byte 0 -2,147,48..