본문 바로가기

Java20

톰캣 이유없이 실행되지 않을 때 대처 방법 1. Servers탭에서 톰캣을 마우스 우클릭하고 cleam해준다 2. 위와 동일하게 우클릭하고 Clean Tomcat Work Directory 실행 3. 메뉴에서 Project clean 돌려주기 4. Project explorer에서 프로젝트 마우스 우클릭하고 maven update project 2021. 9. 13.
[기초 자바] List 인터페이스, ArrayList 1. list에 값 추가하기 ArrayList list = new ArrayList(); //추가 list.add(111); Integer in = new Integer(222); list.add(in); list.add(new Integer(333)); //총 3가지 방법을 써먹을 수 있다. ArrayList는 객체 배열을 구현한 클래스이며, 객체 순서를 기반으로 자료를 순서대로 관리하는 프로그램을 만들 때 씁니다. 예를 들어, 정수형 자료가 들어가는 ArrayList인 list를 생성한다고 할 때, 제너릭을 활용하여 ArrayListlist = new ArrayList(); 이렇게 선언을 해줍니다. list안에 값을 집어넣을 때는 총 세 가지 방법을 쓸 수 있는데, 공통적으로는 list.add(val.. 2021. 5. 21.
[기초 자바] Generic이 대체 뭔가요? 우리가 어떤 변수나 함수의 자료형을 필요에 따라서 여러개로 바꿀 수 있다면 어떨까요? 어떤 특정한 값이 하나의 참조 자료형이 아니라 여러 개를 쓸 수 있도록 하는 것이 바로 Generic Programming입니다. 예를 들어서 요리를 하는데, 들어가는 재료가 다르다고 합시다. 닭고기 카레와 소고기 카레가 있는데, 들어가는 것이 닭이냐 소냐 이 차이만 있을 뿐, 하는 과정은 처음부터 끝까지 완벽하게 똑같습니다. 이런 경우에 레시피를 아예 각각 다르게 쓰는게 효율적일까요 아니면 재료 부분만 다르게 적는게 효율적일까요? 마찬가지로 제네릭 역시 자료형 매개변수 T를 통해서 여러 가지 자료형을 써먹을 수 있게 해줍니다. public class Generic { public static void main(Stri.. 2021. 5. 20.
[기초 자바] 상속의 기초 개념(1) package may0518; public class Inheritance { public static void main(String[] args) { ChildClass cc = new ChildClass(); cc.childFunc(); System.out.println("///"); cc.parentMethod(); cc.name = ""; //같은 패키지 안에서는 에러 나지 않고 인식됨 } } 부모클래스인 A클래스가 B클래스에게 상속한다는 말은 , B클래스가 A클래스의 자식클래스가 되어 상속을 받는다는 뜻입니다. 이런 경우에 자식클래스인 B클래스는 A클래스의 멤버 변수와 메서드를 편리하게 사용할 수가 있습니다. class B extends A{ } 이렇게 표현하는데요, extend라는 단어가 확장.. 2021. 5. 18.
상속을 통한 운동 선수 입출력 관리 (상속 형변환) 어제 배웠던 예제는 단순히 클래스를 여러개로 나눠서 DTO와, DAO를 구분하고 getter, setter 함수를 활용하여 캡슐화를 익히는 과제였습니다. 오늘은 더 나아가 상속의 개념을 접목시켜 예제를 풀어보고자 합니다. 무엇을 위해서 작동하는 코드를 만들고 싶은지를 일단 잘 정리해야 합니다. 우리는 이 코드를 통해서 가상의 야구팀을 만들고, 그 안에 선수들의 기본적인 정보를 입력, 삭제, 수정, 그리고 출력하여 확인하고 싶습니다. 그렇다면 여기서 DTO는 기본적인 정보들을 담고 있는 부분이 될 것이고 각각의 함수는 DAO에 담기게 됩니다. 마지막으로 메인 함수에서는 잘 만들어놓은것을 하나하나씩 쏙쏙 뽑아서 최종적으로 실행을 하게 될 것입니다. 먼저, 앞전과 같이 크게 세 부분으로 나눠서 코드를 짤 수 .. 2021. 5. 18.
DAO, DTO를 활용해서 학생 성적 정보 입력하기(get,set) package java0517; import java.util.Scanner; public class StudentCap { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); StudentDao dao = new StudentDao(); while(true) { System.out.println("어떤 업무를 원하십니까?"); System.out.println("1.학생 추가"); System.out.println("2.학생 삭제"); System.out.println("3.학생 검색"); System.out.println("4.학생 수정"); Syste.. 2021. 5. 18.
Syntax error on token ";", { expected after this token 지난번에 switch 스펠링을 틀려서 에러 났던 것도 황당했는데 이번에는 main함수를 안 넣고 계속 실행을 시키려고 하고 근데 왜 안 되는거지!!!를 잠시동안 반복하다가 깨달았습니다. 저는 main함수도 넣어주지 않고 일하라고 채찍질만 하고 있었다는 사실을요.;; 당연히 main함수가 없으면 아무것도 실행이 되지 않겠죠? 이런 기본적인 실수는 절대 하지맙시다! 2021. 5. 14.
스위치 케이스 Syntax error on tokens, Label expected instead 아직 코딩을 한지 얼마 되지 않아서 그런지 내가 스스로 생각해도 황당한 실수를 할 때가 있습니다. 이 중 하나는 스펠링 오류입니다. 갑자기 빨간 줄이 뜨면 심장이 빠르게 뛰기 시작하면서 내가 뭘 잘못한거지 긴장하게 되는데 그 중 대부분은 아직 초보자인 우리 수준에서도 해결할 수 있는 문제이므로 너무 걱정하지 않아도 될 것 같아요. 자주 보이는 에러중에 하나인 Syntax error on tokens, Label expected instead은 직역하자면 토큰(?)에 구문 오류가 생겼어, 라벨(?)이 와야하는데 라는 말입니다. 일단 하나하나 뜯어보자면 여기서 말하는 토큰이란 자바에서 말하는 단어 단위인데요~즉, switch를 써야하는데 네가 swtich라는 말도 안 되는 단어를 써서 내가 알아먹지를 못하겠.. 2021. 5. 14.
Eclipse JRE 버전 바꿨을 때 생기는 build path 오류 갑자기 잘 되던 것이 아무것도 안 했는데 먹통이 될 경우? 정말 내가 아무것도 안 한건지 다시 한 번 곰곰이 생각해봐야 합니다. 며칠전에 예제 연습을 하다가 중간에 jre 설정을 바꿔줬습니다. 왜 그랬는지는 모르겠는데, 시작 전에 설정을 마치고 한다는게 하던 중에 생각이 났던 것 같아요. 그랬더니 갑자기 코드에 빨간 줄이 죽죽 뜨면서 에러가 났습니다. 구글링을 통해 이러한 현상을 해결할 수 있는 방법을 알아내서 이 곳에 남겨둡니다~일단 이것은 build path의 문제로, 그동안 빌드할 때 써먹었던 버전과 다른 버전이 들어와 충돌하는 거예요. 아래처럼 해결할 수 있었습니다. 우선 이클립스 메뉴 상단의 프로젝트를 우클릭해서 build path에 들어갑니다. 그 후 세 번째 칸 Libraries를 클릭하면 .. 2021. 5. 13.