목록java (49)
All :L

📒 abstract class1️⃣ abstract class 의미자손 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드메서드의 선언부만 남기고 구현부는 세미콜론으로 대체구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstract 추가공통 분모를 뽑아 상속 구조상속 관계 정의를 통한 클래스 정비관계를 통한 객체 활용2️⃣ abstract class 특징abstract 클래스는 상속 전용 클래스자식은 abstract method 재정의할 책임클래스에 구현부가 없는 메서드가 있으므로 객체를 생성할 수 X상위 클래스 타입으로써 자식을 참조 가능조상 클래스에서 상속받은 abstract 메서드를 재정의 하지..

📒 접근제한자 활용1️⃣ 데이터 은닉과 보호 (Encapsulation: OOP Is A PIE)정보 보호 대책변수 private으로 접근 막기공개되는 메서드를 통해 접근 통로 마련 (setter / getter) → 메서드에 정보 보호 로직 작성2️⃣ 객체 생성 제어객체 생성 제한 시여러 개 객체 필요 X 경우 → like 관리자 같은 계정이 필요할 때수정 가능한 멤버 변수 X, 기능만 O이러한 객체를 stateless한 객체라고 함.객체를 계속 생성 / 삭제 하는데 많은 비용이 들어 재사용이 유리한 경우3️⃣ Singleton 디자인 패턴싱글톤 패턴은 클래스가 단 하나만의 인스턴스를 생성해 사용하기 위한 패턴외부에서 생성자에 접근 금지생성자의 접근 제한자를 private으로 설정내부에서 privat..

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

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

📒 자바 기본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. 주요..