분류 전체보기 38

자바 상속 extends

■ 상속 자바 상속이란? 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스를 구성하는 것을 의미한다 기존에 정의되어 있던 클래스를 부모 클래스 또는 상위 클래스라고 하며 상속을 받아 새롭게 작성된 클래스를 자식클래스 또는 하위 클래스라고 한다 특징 상속은 extends 를 사용하며 다중상속을 지원하지않아 하나의 클래스만 지정 할 수 있다 자식 클래스는 또 다른 클래스의 부모 클래스가 될 수 있다 자바에서 모든 클래스는 Object 클래스를 자동으로 상속받게 되어있어 equals(), toString() 같은 메서드를 바로 사용 할수 있다 접근제한자가 public, protected에 한하여 자식클래스에서 override하여 수정하여 사용 할 수 있다. 단점 캡슐화를 깨트린다, 부모 클래스가 어떻게 ..

JAVA 2023.09.29

자바 Map

■ Map Map은 List나 배열처럼 순차적으로 값을 구하는 것이 아닌 key와 value(값)를 가진다 key는 중복이 되지 않으나 value(값)는 중복이 가능하며 저장 순서가 유지되지 않는다 Map map = new HashMap(); // 사용할 key와 value의 타입을 넣어주면된다 ● 메소드 put - 주어진 키로 값을 저장하는 메서드이며 이전에 동일한 key가 있는 경우에는 기존의 value(값)을 대체한다 Map map = new HashMap(); map.put(1, "고양이"); map.put(1, "강아지"); containsKey - 주어진 키가 있으면 true, 없으면 false를 반환한다 containsValue - 주어진 값이 있으면 true, 없으면 false를 반환한다 ..

JAVA 2023.09.27

자바 웹을 다루는 기술 - 서블릿1

"자바 웹을 다루는 기술- 이병승" 를 읽고 학습한 내용을 정리하였습니다. ■ 서블릿이란 서블릿은 서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 이다. 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가진다 그러나 서블릿은 독자적으로 실행되지 못하고 톰캣과 같은 JSP Servlet컨테이너에서 실행된다는 점이 차이가 있다 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송 하는데 서버에서 실행되므로 보안과 관련된 기능도 훨씬 안전하게 수행 할 수 있다 서블릿의 동작 과정은 아래 사진과 같다 기능 서버 쪽에서 실행되면서 기능을 수행 기존의 정적인 웹 프로그램의 문제점을 보완화여 동적인 여러가지 기능을 제공 ..

IT 도서 2023.09.24

자바 List

■ List ● List는 자바에서 제공하는 데이터 구조 중 하나이며 여러개의 데이터를 저장 할 수 있는 자료형이다. 배열과 달리 List에 저장된 데이터의 개수가 변할수 있다는 점이 있으며 데이터의 추가 삭제 등이 용이하다 ● List는 인터페이스로 정의 되어 있으며 제네릭(Generic)을 지원하여 다양한 자료형의 데이터를 저장 할 수 있다 import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List list1 = new ArrayList(); List list2= new ArrayList(); } } ● List에는 다양한 메소드가 존재한다 public..

JAVA 2023.09.23

자바 - 배열/객체 배열

■ 배열동일한 타입의 값들을 하나의 묶음으로 저장한 자료 구조이며 이렇게 묶인 데이터들의 집합을 배열이라고 한다. 배열의 인덱스 번호는 0부터 시작한다. ● 배열의 초기화int[] num = new int[]; // new int[] -> int(4byte)타입의 데이터 []개를 저장할 수 있는 메모리 공간 확보 int[] num = new int[] {11, 33, 55, 77, 99, 111}; int[] num = {12, 24, 30}; ● 배열을 for문과 향상된 for문을 활용// for문을 이용한 방법 int sum = 0; for(int i = 0; i < num.length; i++) { System.out.println("배열의[" + i + "번] : " + num[i]); sum +..

JAVA 2023.09.20

자바 (클래스/객체/메소드)

■ 클래스 클래스는 객체를 만들기 위한 틀이라고 생각하면되며 메소드와 필드가 포함되어있다. 필드는 클래스에 선언된 변수를 가르킨다. public class Note { // 클래스명 String name; // 필드 String address; int age; } ■ 생성자&인스턴스 클래스로부터 객체를 만드는 과정으로 메모리를 할당받게 되며 어떤 클래스에 만들어진 객체를 그 클래스의 인스턴스라고 한다. 객체의 생성은 new 키워드를 통해 생성이 가능하다. (클래스) (변수) = (메모리할당) (생성자 호출) Note note = new Note(); ■ 메소드 메소드를 사용하는 이유로는 중복되는 코드의 반복을 피하고 유지보수를 쉽게 할 수 있다. (접근제한자) (반환형) (메소드명) (매개변수) {} 로..

JAVA 2023.09.18

[백준 JAVA] 25304번 영수증

https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 문제 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한 각 물건의 가격과 개수 구매한 물건들의 총 금액 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자. 입력 첫째 줄..

백준 문제 2023.09.17

[백준 JAVA] 2884번 알람시계

https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는..

백준 문제 2023.09.17

[백준 JAVA] 2480번

2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net ● 풀이 순서 1. 주사위 3개의 값이 모두 다를 경우 : 그 중에서 가장 큰 값을 찾아내기 if(a != b && b !=c && a != c) { // a, b, c가 모두 다를 경우 int max; if(a > b) { // a가 b보다 크고 if(c > a) { // c가 a보다 큰 경우 max = c; // c가 가장 큰 값이다 }else { // 그게 아니라 c보다 a가 크다면 max = a; // a가 가장 큰 값이다 } // 이 자리..

백준 문제 2023.03.31

자바 반복문 - for & while

■ 반복문 같은 실행문을 반복적으로 실행 해야할 경우가 있는데 반복문을 사용하게 되면 직접 코드를 여러번 반복하여 써야되는 경우를 거치지 않고 간결하게 실행 할 수 있다 반복문은 if문을 함께 중첩하여 사용 할 수 있으며 for문은 이미 알고 있는 반복 횟수에 맞춰 수행 시키고 싶을때 주로 사용하고 while문은 조건에 따른 반복을 수행할때 주로 사용한다 ● for문 for문의 형식 for(초기화식; 조건문; 증감식){ 실행할 문장 a; 실행할 문장 b; ..... } 예시 1 for(int i = 0; i < 10; i++) { System.out.println(i + "번입니다."); } i는 0부터 시작하여 "0번입니다"가 출력이 되고 반복문으로 다시 돌아와 1 증감이 된채로 반복하며 i < 10 ..

JAVA 2023.03.30