반응형

전체 글 88

[JAVA] 상속(inheritance)이란? / 상속의 특징 / 상속의 장점 / 예시

상속이란?? 상속은 객체지향의 핵심 개념 중 하나!! 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 두 클래스를 조상과 자손으로 관계를 맺어주는 것 상속의 특징 자손은 조상의 모든 멤버를 상속 받는다. (생성자, 초기화 블럭은 제외) 자손은 멤버는 조상보다 적을 수 없다. (같거나 많음) 상속의 장점 적은 양의 코드로 새로운 클래스를 작성 할 수 있다. 코드를 공통적으로 관리할 수 있어 코드의 추가 및 변경이 용이하다. → 재사용성을 높이고 중복을 제거하여 유지보수가 편리하다!! class Child extends Parent { } Child 클래스는 Parent 클래스를 상속 받는다!! Child 클래스는 Parent 클래스의 멤버들을 포함한다!! 조상 클래스 부모(parent) 클래스..

[Database] MYSQL로 ERD 쉽게 만들기

프로젝트를 진행하면 기획에서 필요한 데이터와 컬럼을 정리해주고 육안으로 쉽게 보여주는 ERD는 작성은 필수입니다. 그 때 필요한 ERD를 쉽게 제작해주는 방법입니다. ERD 만드는 방법은 여러 방법이 있지만 저는 MySQL로 만들었습니다 MySQL로 ERD 만들기 먼저 MySQLWorkbench를 실행시켜주세요. mySQL → Database → Reverse Engineer Database next 누르고 비밀번호 입력하고 next next 클릭 스키마 선택 next excute 클릭 operation completed successfully 라고 뜨면 끝 이렇게 ERD가 알아서 만들어집니다 제가 만든 테이블 board의 writer와 user_info는 서로 참조 관계에 있습니다. 그래서 더블 클릭후..

[JAVA] 참조변수 super & 생성자 super

자바 객체지향을 공부하다보면 상속을 배우고 상속을 배우다 보면 super라는 개념이 나온다. 처음에 볼때 이게 뭐지? 라는 생각이 드는 생소한 개념이지만 앞선 포스팅의 this와 유사하니 참고 하면 좋을것 같다! 2022.05.14 - [Programming/Java] - [JAVA] this()와 this 의 차이점! [JAVA] this()와 this 의 차이점! this()와 this 의 차이점! 우리는 자바를 공부하다보면 this()와 this를 볼 수 있는데 처음에는 '이게 같은건가?'라는 생각을 할 수 있지만 엄연히 둘은 전혀 관계가 없는 생성자와 참조변수이다! this( ) puenti.tistory.com 참조변수 super this : 인스턴스 자신을 가르키는 참조변수, lv와 iv를 구..

[JAVA] 오버라이딩이란?? / 오버라이딩 vs 오버로드

자바는 객체지향언어(OOP)이다. 객체지향언어는 몇가지 중요한 개념을 가지고 있는데 이번 포스팅은 그중 하나라고 볼 수 있는 '오버라이딩(overriding)'에 대해서 정리해보려고 한다 오버라이딩(overriding)이란?? 오버라이딩이란 조상클래스로부터 상속받은 메서드의 내용을 변경하는 것이다 class Point{ int x; int y; String getLocation(){ return "x :" + x + ", y : " + y; } } class Point3D extends Point{ int z; String getLocation() {//오버라이딩 return "x :" + x + ", y : " + y + ", z : " + z; } } 2차원좌표 위치인 Point class에서 3차원..

[Human Error] 주소가 유효하지 않기 때문에 Safari가 해당 페이지를 열 수 없습니다.

개발환경 M1 맥북 IntelliJ MySQL 톰캣 9.0 Mybatis로 게시판의 CRUD 중 읽기 기능을 구현중 생긴 에러이다 위 게시판에서 제목을 클릭하면 해당 게시물의 url로 이동할 수 있게 연결했다 근데 위 게시판을 클릭하니 이렇게 떳다 바로 페이지 소스를 찾아보니 board 앞에 ch4가 안붙어서 있어서 해당 url로 이동하지 못 했다 아래의 게시판 번호를 보여주는 url은 잘붙어있는걸로 보아 제목 url의 코드에 문제가 있다고 생각했다 board 앞에 /ch4를 붙히고 이동하니 정상적으로 이동을 잘하였다 board 앞에 /ch4가 붙을 수 있게 수정하는 되는거였다 에러가 난 위 게시판 페이지의 boardList.jsp 코드이다 fastcampus Home Board login Sign in..

Error Note 2022.05.20

[MyBatis Error] org.springframework.jdbc.BadSqlGrammarException:

MyBatis 에러 개발환경 M1 맥북 MySQL IntelliJ MyBatis를 이용해서 게시판 DAO를 작성하고 TDD 테스트를 하는 과정에서 생긴 에러이다 SELECT 쿼리를 작성하고 TDD 테스트를 하는 과정중에 생긴 에러임 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'comment_cnt' in 'field list' 2번째 줄을 보니 Unknown colum 'comment_cnt' in field list 대충 comment_cnt 컬럼, 데이터베이스에 문제가 있다는걸로 보였다 boardDao가 잘연결된걸 봐서는 연결 문제는 아닌거 같고 다른 문제였다 ### The error may ..

Error Note 2022.05.18

[JAVA] 변수 초기화란? / 명시적 초기화 / 변수의 초기화 시기와 순서

변수를 선언하게 되면 우리는 선언한 변수에 값을 저장해줘야 한다. 경우에 따라 선택적이기도 하지만, 가능하면 선언과 동시에 변수를 선언해주는 것이 좋다! 이런 변수를 선언하고 값을 저장해주는 것을 초기화(initialization)라고 한다! 변수의 초기화(initialization) 변수를 선언하고 처음으로 값을 저장하는 것 initialization : 초기치 설정 (전산학) 변수는 인스턴스 변수(iv)와 지역변수(lv)로 나눠지는데 변수마다 초기화 방법이 조금씩 다르다 class InitTest{ int x;// 인스턴스 변수 iv int y = x;// 인스턴스 변수iv void method(){ int i;// 지역변수 lv int j = i; // 에러 } } 위 에러가 난 이유는 지역 변수를..

[JAVA / JSP] 자바 빈즈(Java Beans)란? / 빈즈(Beans)의 장점 / 빈즈(Beans) 클래스 구조

JSP 빈즈란?? JSP와 연동하기 위해 만들어진 자바 컴포넌트 클래스 컨테이너에 위치 JSP에 DB 연동 등 프로그램적 요소를 모듈화 할 수 있도록 도와줌 데이터 처리와 공용화된 기능 제공 프로그램 중복을 줄이고 월활한 유지보수 가능 ※ JSP코드 내에 스크립트릿를 이용해서 자바 소스코드를 직접 포함할 수 있지만 그런 방법 보다는 별도의 빈즈를 만들어 사용하는 것이 모듈화 측면에서 바람직하다! * 컴포넌트(component) 1. 특정 작업인 비지니스 로직을 독립적으로 수행하는 하나의 프로그램 단위 2. 규격화된 인터페이스를 가지며, 조합을 통해 다양한 결과물을 쉽게 만들어 낼 수 있음 * JSP (Java Server Page) 간단하게 설명하면 HTML 안에 자바 코드가 있는 것! JSP 빈즈 사용..

[JAVA] this()와 this 의 차이점!

this()와 this 의 차이점! 우리는 자바를 공부하다보면 this()와 this를 볼 수 있는데 처음에는 '이게 같은건가?'라는 생각을 할 수 있지만 엄연히 둘은 전혀 관계가 없는 생성자와 참조변수이다! this( ) 생성자 생성자의 이름, 클래스 이름 대신 this를 사용한다 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출 가능 Car(String color) { door = 5;// 에러1 Car(color, "auto", 4);// 에러2 } 에러1. 생성자의 두 번째 줄에서 다른 생성자를 호출함 에러2. this(color, "auto", 4); 로 클래스 이름 대신 this를 사용해야함 this 참조변수 인스턴스 자신을 가리키는 참조 변수 지역변수(lv)와 인스턴스 변수(..

[STS4 error] 'Starting Tomcat v9.0 Server at localhost' has encountered a problem 발생시 간단 해결 방법 / M1 맥북

개발 공부를 한다고 이것저것 덕지덕지 온갖 가지의 개발 프로그램을 마구잡이로 다운받아 컴퓨터를 한 번 밀어야겠다고 마음 먹고 포맷을 진행했습니다 포맷 진행후 자바, 스프링, 톰캣 등등 필요한 개발 환경을 구축하고 테스트하고 있었습니다. 문제 발생은 STS4에서 톰캣을 등록하고 테스트하는 과정에서 아래의 에러코드가 나오더군요 'Starting Tomcat v9.0 Server at localhost' has encountered a problem 라는 에러였습니다 간단히 해석하자면 포트8080은 이미 사용되고 있다고 합니다... 저는 이번에 포맷하고 처음 깔았는데..? 바로 구글링 후 여러 방법들이 있었습니다 방법 1 왼쪽 사진이 처음 오류났을 때 설정값들입니다 HTTP 포트를 8088로 바꿔주고 해봤습니..

Error Note 2022.05.12

[JAVA] 생성자(Constructor) / 생성자의 조건 /기본 생성자(defualt Constructor)

생성자(Constructor)란?? 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다 Time t = new Time(); // 객체 생성 // iv 초기화 t.hour = 12; t.minute = 34; t.second = 56; Time t= new Time(12, 34, 56); // 생성자 호출 생성자는 메서드와 유사하지만 리턴값이 없다는 점이 다르다! 생성자의 조건 생성자의 이름과 클래스의 이름은 같아야 한다 생성자는 리턴값이 없다 (void 안씀) ※ 생성자도 메서드이기 때문에 리턴값이 없다는 의미의 void를 붙여야 하지만, 모든 생성자가 리턴값이 없으므로 void는 생략한다 Card c = new Card(); 연산자가 new에 의해서 메모리에 Card 클래스의 인스턴..

[JAVA] 오버로딩(overloading)이란?? 메서드 오버로딩 / 오버로딩의 조건 / 오버로딩의 예

자바에는 오버로딩(overloading)이라는 개념이 있다! 뒤에서 설명하겠지만 비슷한 용어의 오버라이딩(overriding)도 있다 둘이 이름은 비슷하지만 전혀 다른 개념이므로 추후에 따로 설명하겠다 오버로딩(overloading)이란??? 한 클래스 내에 같은 이름의 메서들을 여러개 정의하는 것을 메서드 오버로딩(method overloading) 줄여서 오버로딩(overloading)이라고 한다 overload의 사전적 의미는 '과적하다' 라는 뜻이다. 보통 하나의 메서드에는 하나의 기능만 구현하는데, 하나의 메서드에 여러 기능을 구현해서 붙혀진 이름이라 볼 수 있다 오버로딩의 조건 메서드 이름이 같아야 한다 위에서 정의한 의미대로 하나의 메서드에 여러개를 정의하는 것으로 이름은 당연히 같아야 한다..

[JAVA] 기본형 매개변수와 참조형 매개변수

기본형 매개변수 변수의 값을 읽기만 할 수 있음(read only) 참조형 매개변수 변수의 값을 읽고 변경 할 수 있음(read & write) 아래 예제를 통해서 어떤 차이가 있는지 확인해 볼께요! class Data {int x;} class ParameterTest{ public static void main(String[] args) Data d = new Data();//객체 생성 d.x = 10; System.out.println("main() : " + d.x); change(d.x); System.out.println("After change(d.x)"; System.out.println("main() : x =" + d.x) } static void change(int x) {// 기본형..

[JAVA] 클래스 메서드(Static메서드)와 인스턴스 메서드(instance method)

2022.05.03 - [Programming/Java] - [JAVA] 메서드(method)란? return문, 메서드 호출 [JAVA] 메서드(method)란? return문, 메서드 호출 메서드(method)란?? 메서드란 작업을 수행하기 위한 명령문의 집합 블럭 { } 을 묶어 놓은 것, 작업 단위로 문장들의 묶어서 이름을 붙임 어떤 값을 입력 받아서 처리하고 그 결과를 돌려줌 클래스 puenti.tistory.com 저번 포스팅에서는 메서드에 관해서 포스팅 했습니다. 이번 포스팅은 클래스 메서드(static method)와 인스턴스 메서드(instance method)에 대해 알아볼게요 메서드 앞에 static이 붙으면 클래스 메서드이고 그렇지 않으면 인스턴스 메서드입니다 그러면 클래스를 정의할..

반응형