추상메서드 정의 : 내용이 없는 메서드, 구현(정의)는 하지 않고 선언만 한 메서드 목적 : 메서드의 내용이 너무 일반적인 내용이라 부모 클래스에서 구체화하여 정의할 필요가 없을 경우, 추상메서드로 선언만하고 상속받은 자식 클래스에서 재정의하도록 할 때 사용 추상클래스(abstract class) 정의 : - 한 개 이상의 추상메서드를 가지는 클래스 - 일반적인 클래스는 세부적이고, 구체적 ex) 고양이과, 개과 - 반면 추상클래스는 일반클래스에 비해 구체적이지 않고 추상적 ex) 고양이, 사자, 강아지 목적 : 추상메서드는 선언만되고 구현이 되지 않은 불완전한 메서드이므로 객체로 생성되어서는 안됩니다. 이런 클래스(추상메서드가 포함된 클래스)는 추상클래스로 선언하여 객체 생성을 금지시킵니다. 추상클래스..
자바에서 다형성을 지원하는 방법으로 메서드 오버로딩과 오버라이딩이 있습니다. 오버로딩(Overloading) : 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용 서로 개념은 다르지만 이름이 비슷해서 헷갈리는 경우도 있고, 신입 개발자의 경우 면접 단골 질문이기도 하니 하나하나 예제를 살펴보겠습니다. 오버로딩(Overloading) 오버로딩은 메서드 오버로딩과 생성자 오버로딩이 있습니다. 하지만 둘 다 같은 개념이에요. 같은 이름의 함수(메서드)를 여러개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게됩니다. 예제소스) class Ov..
1. 클래스와 객체 가장 흔한 설명중에 대표적으로 잘못된 것은 붕어빵이야기다. 클래스 = 붕어빵틀, 객체 = 붕어빵에 비유하며, 붕어빵틀에서 붕어빵을 찍어낸다는 이야기다. 하지만 코드로 보면 이 비유는 틀렸다. 클래스 객체변수명 = new 클래스(); 에 대입해보면, 붕어빵틀 붕어빵 = new 붕어빵틀(); 이다. 말이 안되는 예제이다. 여기서 붕어빵틀은 붕어빵을 만드는 Factory로 이해를 해야지, 클래스와 객체관계로 이해하면 안된다. 클래스는 추상적이고, 클래스라는 단어대로 분류에 대한 개념이지, 실체가 아니다. 하지만 객체는 실체이다. class Person이 있고, Person ljh = new Person(); 이 말이 되는 것이다. 클래스 : 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개..
tomcat의 기본 포트는 8080입니다. 이 포트 번호는 원하는 번호로 변경하는 것이 가능한데, 나중에 하나의 서버에 여러개의 톰캣을 사용하고자 할때도 적용 할 수 있습니다. 먼저, 압축을 해제한 tomcat 파일의 conf 디렉토리에 들어갑니다. # cd apache-tomcat-8.0.28/conf conf 디렉토리에 들어갔다면, vi/vim 명령어로 server.xml을 열어봅니다. # vim server.xml server.xml 파일을 열었으면, 약 69~71번째 줄에 ‘Connector port’로 시작하는 설정이 있습니다. 이 설정 중 8080으로 되어있는 것을 원하는 포트 번호로 변경해주면 됩니다.
톰캣의 환경설정을 하고 신나게 톰캣을 구동해보았다. 하지만 나를 반겨주는것은 외계어? 최초 톰캣 실행 화면 깨져보이는 곳은 한글이 출력되어야하는데 이러한 문제는 Encoding 문제이므로 우선은 logs 폴더 아래에 catalina.log 파일을 먼저 확인하신 후 파일 내에도 한글이 마찬가지로 깨져있는지 확인해주세요. catalina.log 현재 로그 내의 한글은 깨져있지 않군요! 그러면 한글 깨짐의 원인은 콘솔창의 페이지 모드의 문제. Tomcat 속성 톰캣의 속성을 보시면 아래 현재 코드페이지가 949로 되어있는 것을 확인하실 수 있어요. 해당 값을 UTF-8인 65001값으로 변경하기 위해서는 레지스트리 값을 수정해주셔야 합니다. 실행창(WIN+R)을 누르시고 regedit을 입력하여 레지스트리 편..
Eclipse의 주 용도가 Java 언어를 기반으로하는 개발이라면, JRE의 버전별 설치가 필요한 경우가 있습니다. 예를 들면 특정 시스템을 업그레이드 해야하는 경우입니다. 기존 시스템이 JRE 1.4.x 를 기준으로 작성되어있다고 할때, 최신버전의 JRE (Java 5.0 스펙 이후 버전)을 기준으로 셋팅된 Eclipse에서 별도의 JRE Version 설정없이 컴파일 하는 경우 문제가 될 수 있습니다. [필요한 이유] JDK 5.0에는 generic 이나 for loop (VB의 for...each문 ) 같은 내용들이 Java Compiler 및 JVM 에 추가 되었기때문에 문제될 수 있고, 다른 경우로는 같은 was도 1.5이상 이지만 was가 JRE Version이 다르다고 Exception을 토..
간혹 jsp 사용을 위해서 프로젝트를 파다가 dynamic웹을 눈씻고 찾아봐도 없는 경우가 있다. 그러나 인터넷에서보면 아무나 잘 사용하고 있다. 문제는 아무리 찾아봐도 내 이클립스에는 없다는 것이다. 도대체 어떻게 된걸까? 이클립스를 쓴지 얼마 안되는 사람이 자주 저지르는 실수 중 하나긴 하다. 사실 원인을 따지자면 설치때로 거슬러 올라간다. 이클립스가 매우 유명한 자바툴이라 마차 이클립스가 자바 전용인줄 아는 사람이 있다. 그러나 이클립스는 고작 그정도 작은 툴이 아니라 정말 모든걸 다 할 수 있는 어마어마한 툴이다. 여러분이 설치시에 web관련 프로젝트및 파일을 만들 수 없는 이유는 매우 간단하다. 설치시에 여러분은 Java Developers를 선택했다. 그러나 web을 하려면 Java EE De..
https://www.oracle.com/index.html Oracle | Integrated Cloud Applications and Platform Services Oracle Cloud Applications: State of the Union Webcast Discover what’s possible with Oracle Cloud applications at the Modern Business Experience live keynote webcast. Tuesday, March 24, 8:00 a.m. PT. www.oracle.com 오라클 홈페이지가 새로 개편되었습니다. 기존 UI에 익숙한 사람들은 새로운 UI에 적응하기 위해서 시간을 투자해야합니다. 이 글을 보고 사람들이 그러한 시간을 ..
POI 읽기/쓰기(read/write)를 구현하는 중 Excel의 특정 값을 찾아서 원하는 셀에 색상을 채우고 싶었다. 참고자료 예제 https://swk3169.tistory.com/entry/Java-Excel-%EC%97%91%EC%85%80-ReadWrite-%EC%9D%BD%EA%B8%B0%EC%93%B0%EA%B8%B0-POI POI 기존버전 아무리 해도 색상이 안채워짐. style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); //채우기 선택 style.setFillPattern(CellStyle.SOLID_FOREGROUND); //채우기 적용(이거안하면 안채운다) stackoverflow에 의하면 POI의 3.17버전..
Comparable 와 Comparator의 사용법 Comparable과 Comparator는 정렬과 관련된 인터페이스입니다. (sort()라는 메서드와 관련이 있다고 보시면됩니다.) 배열이나 Collections 프레임워크 사용시 sort() 메서드를 사용하면 자동으로 정렬을 시켜줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 package practice; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class SortImpl..
- Total
- Today
- Yesterday