분류 전체보기 177

[자바의 정석] CH8

프로그램 오류 종류 - 컴파일 에러 : 컴파일 할 때 발생하는 에러 - 런타임 에러 : 실행 중 발생하는 에러 - 논리적 에러 : 작성 의도와 다르게 동작 자바의 런타임 에러 - 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 - 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외 처리의 정의와 목적 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 Throwable - 모든 오류의 조상 Exception, Error - 런타임 에러 1. Exception클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 2. RuntimeException클래스들 :..

자바 스터디 2023.06.24

[자바의 정석] CH7

클래스 간의 관계 2가지 · 상속 : 두 클래스를 부모와 자식으로 관계를 맺어주는 것 ('~은 ~이다. (is-a)') · 포함 : 클래스의 멤버로 참조변수를 선언하는 것 ('~은 ~을 가지고 있다.(has-a)' 상속과 포함 구별 방법 단일 상속 class TvDVD extends Tv, DVD { } 위와 같은 다중 상속은 불가능 하다. 예시로 Tv, DVD에서 메서드 이름은 같고 내용은 같을 때 어떤 것을 상속해야 하는지 충돌이 나기 때문에 Object 클래스 - 모든 클래스의 조상 오버라이딩의 조건 1. 선언부가 조상 클래스의 메서드와 일치해야 함. 2. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없음. 3. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없음.(같거나 적어야..

자바 스터디 2023.06.15

[자바의 정석] CH-6

객체 : iv 묶음 iv : 객체 생성후 사용 가능 cv : 객체 생성 없이 사용 가능 참조형 매개변수 참조형 반환타입 static 메서드 : iv를 사용하지 않을 때 사용, 객체생성 없이 호출 가능 인스턴스 메서드 static 메서드에서 iv, instance 메서드 사용 불가 : iv는 객체 생성 후 사용 가능하지만 static은 객체 생성 없이도 가능 하므로 오버로딩 : 한 클래스 안에 같은 이름의 메서드 여러 개를 정의 하는 것. 오버로딩 성립 조건 3가지 - 메서드의 이름이 같아야 함 - 매개변수의 개수 또는 타입이 달라야 함 - 반환타입은 영향없음. 생성자 : iv 초기화 메서드 기본생성자 :생성자가 하나도 없을 때, 컴파일러가 추가 해줌 항상 클래스 만들 때 추가하는 습관!! 생성자 : 생성..

자바 스터디 2023.05.04

[자바의 정석] CH-5 ~ CH-6

객체지향 이론의 기본 개념 : 실제 세계는 사물(객체)로 이루어져 있고, 발생하는 모든 사건들은 사물간의 상호작용이다. 객체 지향의 장점 : 1. 코드의 재사용성 2. 코드 관리 용이 3. 신뢰성 높은 프로그래밍 가능 : 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지 너무 객체지향개념에 얽매여서 고민하기보다 기능적으로 프로그램을 일단 만들고 객체지향적 방향으로 코드를 개선해 나가는 것이 좋다. 클래스 정의 : 객체를 정의해 놓은 것. 클래스 용도 : 객체를 생성하는데 사용 됨. 클래스는 단지 객체를 생성하는데 사용될 뿐, 객체 그 자체는 아님. ex) 클래스: tv설계도, 객체: tv 인스턴스 : 클래스로부터 만들어진 객체를 뜻함. ex) ‘책상은 인스턴스’ 보다 ‘책상은 객체’라는 쪽이, ..

자바 스터디 2023.04.27

[자바의 정석] CH3 ~ CH4

연산자의 우선순위와 결합법칙 증감 연산자 따로 떼어내서 생각하면 쉬움 j = ++i; // 전위형 ++i; j = i; j = i++; //후위형 j = i; i++; 형 변환 : 변수나 상수 타입을 다른 타입으로 바꿈 자동 형 변환: 변환 된 결과 타입이 더 크면 생략 가능 반대면 생략 불가 1. 두 피연산자의 타입을 같게 일치신다 -> 보다 큰 타입으로 형변환 됨 2. 피연산자의 타입이 int보다 작은 타입이면 int로 변환 됨 -> byte, short, char ex) byte범위: -128~ 127, char범위: 0~6만, short범위: +- 3만 300*300=900000이므로 금방 넘어버린다 문자열 비교 문자열 비교에는 == 대신 equals()를 사용 해야 함 String str1 = ..

자바 스터디 2023.03.30

[자바의 정석] CH1 ~ CH2 정리

변수 = 하나의 값을 저장할 수 있는 메모리 공간 변수 선언 = 값을 저장할 공간 마련 ( 변수타입 변수이름;)(ex. int age;) 변수 값 저장 = ('=') 사용 변수의 초기화 = 변수에 처음으로 값을 저장 변수의 종류 클래스 변수 인스턴스 변수 지역 변수 (꼭 초기화 시켜야 함!!) 변수의 타입 = 저장할 값의 타입에 의해 결정 값의 타입 = 8개의 타입(기본형), 참조형 참조형 = 객체의 주소를 저장. 8개 기본형 제외한 나머지 타입. 리터럴과 상수 상수가 필요한 이유 : int triangleArea = (20 * 10) / 2; int rectangleArea = 20 * 10 final int WIDTH = 20; final int HEIGHT = 10; int triangleArea ..

자바 스터디 2023.03.24

[Spring Boot] 회원 정보 조회 및 삭제

이전 게시글https://changha-dev.tistory.com/149 [Spring Boot] 스프링 부트 회원 목록 출력하기 이전 게시글 https://changha-dev.tistory.com/148 [Spring Boot] 스프링 부트 로그인 구현 이전 게시글 https://changha-dev.tistory.com/147 [Spring Boot] MySQL DB와 연동하기 이전 게시글에서 https://changha-dev.tistory.com/146 [Spr changha-dev.tistory.com 에 이어서 이번 시간에는 회원 정보를 조회 및 삭제 할 수 있는 기능을 간단히 구현해보겠습니다. 조회 할 때 이전 리스트 구현과 약간 다른점은 리스트에서는 memberDTO 전체를 가져와야 되..

개발 2023.02.12

[Spring Boot] 스프링 부트 회원 목록 출력하기

이전 게시글 https://changha-dev.tistory.com/148 [Spring Boot] 스프링 부트 로그인 구현 이전 게시글 https://changha-dev.tistory.com/147 [Spring Boot] MySQL DB와 연동하기 이전 게시글에서 https://changha-dev.tistory.com/146 [Spring Boot ] 웹페이지 정보 -> Controller (http method) 전 게시글 https://changha-dev.tistory. changha-dev.tistory.com 에서 로그인 구현까지 해봤습니다. 이번 시간에는 DB에 저장 돼있는 회원정보들을 웹페이지에서 조회 하는 기능을 살펴보겠습니다. @Controller @RequiredArgsCons..

개발 2023.02.11

[Spring Boot] 스프링 부트 로그인 구현

이전 게시글 https://changha-dev.tistory.com/147 [Spring Boot] MySQL DB와 연동하기 이전 게시글에서 https://changha-dev.tistory.com/146 [Spring Boot ] 웹페이지 정보 -> Controller (http method) 전 게시글 https://changha-dev.tistory.com/145 에 이어 이번에는 [Spring Boot] 스프링부트 환경세팅 후 웹페이지 changha-dev.tistory.com 에서 MySQL DB에 연결하는 것 까지 해봤습니다. 이번에는 저장된 정보 가지고 로그인을 할 수 있도록 구현 해보겠습니다. @Controller @RequiredArgsConstructor //MemberService..

개발 2023.02.11