목록분류 전체보기 (86)
All :L

📒 상속1️⃣ 상속 (Inheritance: OOP Is PIE)기존(상위) 클래스의 자산(멤버)을 자식(하위) 클래스에서 재사용하기 위한 것상위 클래스의 생성자와 초기화 블록은 상속 X상위 클래스의 멤버를 물려 받기 때문에 코드 절감상위 클래스 코드 변경 시 하위 클래스에도 적용 → 유지 보수성 향상상속은 extends 키워드를 사용해 적용2️⃣ Object 클래스모든 클래스의 조상 클래스별도의 extends 선언이 없는 클래스는 extends Object 가 생략됨.모든 클래스에는 Object 클래스에 정의된 메서드 O3️⃣ 단일 상속 (Single Inheritance)Java는 단일 상속만 지원interface와 포함 관계(has a)로 단점 극복다중 상속 → 여러 클래스 기능 물려받을 수 O ..

[배열]배열배열 : 일정한 메모리 공간을 차지하는 여러 요소들이 순차적으로 나열된 자료구조각 요소는 0부터 시작하는 고유한 순서 번호인 인덱스를 매김인덱스가 주어졌을 때 특정 요소에 접근하는 연산 : O(1)서로 다른 N개의 데이터에서 특정 데이터를 찾는 연산 : O(N)특정 인덱스의 요소를 추가하는 연산 : O(N)특정 인덱스의 요소를 삭제하는 연산 : O(N)정적 배열프로그램을 실행하기 전 크기가 고정되어 있는 배열프로그램 도중 변경 X동적 배열실행 과정에서 크기가 변할 수 있는 배열배열의 크기를 알기 어려운 경우, 유연하게 요소 개수를 조정해야 하는 경우 사용동적 배열을 벡터라는 이름으로 구현한 프로그래밍 언어도 존재[연결 리스트]연결 리스트노드 : 데이터와 다음 노드의 위치(메모리 상의 주소) 정..

📒 객체지향 프로그래밍1️⃣ 객체지향 언어 특징OOP is A P.I.EAbstraction(추상화)Polymorphism(다형성)Ingeritance(상속)Encapsulation(데이터 은닉과 보호)2️⃣ 객체지향 프로그래밍(Object Oriented Programming)객체주체가 아닌 것, 주체가 활용하는 것객체지향 프로그래밍주변의 많은 것들을 객체화 해서 프로그래밍 하는 것장점블록 형태의 모듈화된 프로그래밍 → 신뢰성 高 / 추가, 수정, 삭제 용이 / 재사용성 高3️⃣ 현실 세계 객체, 클래스, 프로그램의 객체(instance, object)의 관계추상화 & 구체화현실의 객체가 갖는 속성과 기능은 추상화 되어 클래스에 정의됨.클래스는 구체화 되어 프로그램의 객체(instance, objec..

[자료구조와 알고리즘]자료구조자료구조 : 데이터를 다루기 위한 어떠한 구조알고리즘알고리즘 : 어떠한 목적을 이루기 위해 필요한 일련의 연산 절차⇒ 어떤 자료구조가 사용되었는지에 따라 사용 가능한 알고리즘이 달라짐[시간 복잡도와 공간 복잡도]시간 복잡도시간 복잡도(time complexity) : 입력 크기에 따른 프로그램 실행 시간(연산 횟수)의 척도실행 시간은 연산의 횟수에 비례공간 복잡도공간 복잡도(space complexity) : 입력에 따른 메모리 사용량의 척도메모리 사용량 多 → 공간 복잡도 大 / 메모리 사용량 少 → 공간 복잡도 小⇒ 소스 코드나 프로그램이 얼마나 효율적인지 판단하는 척도 (대부분 시간 복잡도 사용)표기법빅 오 표기법(big O notation) : 함수의 점근적 상한을 표..

📒 자바 기본1️⃣ Variable자료를 저장하기 위한 메모리 공간으로 타입에 따라 크기가 달라짐.Type기본형: 정해진 크기논리형 : boolean정수형 : byte, short, int, long실수형 : float, double문자형 : char참조형: 참조 주소 저장String(객체형)자주 사용되는 Strinig 메서드 기억해두기내용일 같을 경우 → equals() 사용같은 객체일 경우 → == 사용2️⃣ 형 변환변수의 형을 다른 형으로 변환하는 것기본형의 형 변환 진행명시적 형 변환 VS 묵시적 형 변환타입의 표현 범위가 커지는 방향으로 할당할 경우 묵시적 형변환 발생명시적 형변환은 값 손실이 발생할 수 있음 → 책임하에 형변환 진행묵시적 형변환은 자료의 손실 걱정 X → 형변환 연산 생략계산..

토마토 (7576)1. 문제 분석문제 개요토마토 상자에서 모든 토마토가 익는 데 걸리는 최소 일수를 구하는 문제이다.상자에서 익은 토마토가 인접한 익지 않은 토마토를 익게 한다.상자에 토마토가 없는 곳은 -1로 표시된다.입력 형식첫째 줄에 두 정수 M과 N이 주어진다. (1 ≤ M, N ≤ 1000)다음 N개의 줄에 M개의 정수로 이루어진 상자의 모양이 주어진다.1은 익은 토마토0은 익지 않은 토마토-1은 토마토가 없는 곳출력 형식모든 토마토가 익는 데 걸리는 최소 일수를 출력한다.만약 모든 토마토를 익히는 것이 불가능하면 -1을 출력한다.2. 알고리즘 종류이 문제는 그래프 탐색 문제로, 너비 우선 탐색 (BFS)를 사용하여 익은 토마토가 인접한 익지 않은 토마토를 익히는 과정을 시뮬레이션한다.3. 주요..