
오버로딩(Overloading)을 공부했다면 이제는 오버라이딩(Overriding)이다. 5. Overriding 상속 관계에 있는 부모 클래스에서 이미 정의한 메소드를 자식 클래스에서 같은 기능을 갖는 메소드로 다시 정의하는 것. 오버로딩도 조건이 있던 것처럼 오버라이딩 역시 조건이 존재한다. 조건 ① 오버라이딩이란 메소드의 동작만을 재정의하는 것이므로 메소드의 선언부는 기존 메소드와 완전히 같아야 한다. 메소드의 반환 타입은 부모 클래스의 반환 타입으로 타입으로 타입 변환할 수 있는 타입이라면 변경할 수 있다. ② 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다. ③ 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없다. 바로 코드로 살펴보자. 코드는 각 Parent ..

Method(2)에서 사용법을 공부했다. Method overloading과 Method overriding을 알아보자. 4. Overloading 한 Class 내에 같은 이름의 메소드를 여러개 정의하는 것. 하지만 조건이 있다. 바로 매개변수가 달라야한다. ① 메소드의 이름이 같아야한다. ② 매개변수의 개수나 타입이 달라야 한다. 바로 코드로 살펴보자. Main Class는 Example()이라는 이름의 메소드를 두 개 가지고있다. 자세히 보면 ⓛ Example() 메소드 이고, ② Example(String text) 메소드 이다. 차이를 말하면 1번 Exapmle() 메소드는 매개변수가 없고, 2번 Example 메소드는 String 타입의 text를 매개변수로 가진다. 먼저 1번 Example(..

Method(1)에서 정의와 필요성을 공부했다. Method 사용법을 알아보기 전 Main 메소드를 기억하고 있다면 이해가 더 쉬울 수 있다 Main Method 유일하게 이름이 지정되어 있는 메소드이다. 한 프로그램에서 반드시 main 메소드가 존재해야하고 한 프로젝트당 반드시 하나만 존재한다. Call stack은 메소드를 호출하기 위한 계층으로 main 메소드는 항상 Call stack에 들어있다. public class main{ public static void main(String[] args){ } } 이제 사용법을 알아보자. 3. Method 사용 기본적인 Method 형태로 이를 Method 선언 이라 말한다. public class main{ public static void Examp..

다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 Java는 Class를 떠나 존재하는 것은 있을 수 없기 때문에 Java의 함수는 따로 존재하지 않고 Class내에 존재한다. Java는 이러한 클래스 내의 함수를 Method로 부른다. 보통 함수와 메소드가 공존하는 언어(Python..etc)에서는 두개를 구분하여 말하기도 하지만 Java는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 Java에서 사용되는 함수의 정확한 명칭은 메소드이다. 1. Method 정의 메소드(Method) 또는 멤버 함수(Member function)이라고 부르며, 객체 지향 프로그래밍에서 객체과 관련된 서브 루틴(또는 함수)로 데이터와 멤버 변수에 대한 접근 권한을 갖는다. 종류 ① 인스턴스 메소드(비..

1. Spring Boot 프로젝트 생성 2. maven을 사용한다면 pom.xml에 추가하고 Gradle을 사용한다면 build.gradle에 추가합니다. pom.xml org.apache.tomcat.embed tomcat-embed-jasper javax.servlet jstl build.gradle derendencies { compile('javax.servlet:jstl') compile("org.apache.tomcat.embed:tomcat-embed-jasper") } Spring은 시작할 때, application.properties 파일에 정의된 내용을 로드한다. application.properties 파일에 spring.mvc.prefix와 spring.mvc.suffix 프로퍼티..

mapper.xml에서 부적합한 열 : 1111 위와 같이 뜨는 경우 form 에서 넘어오는 parameter 값들 중 null 값이 존재해서 그렇다 이러한 경우 알려주는 오류대로 실행하되 null 값을 그대로 삽입하고 싶다면 아래의 방법을 사용하면 된다 INSERT INTO table (id , name, title) VALUES (#id:VARCHAR#, #name:VARCHAR#, #title:VARCHAR#) INSERT INTO table (id , name, title) VALUES (#{id, jdbcType=VARCHAR}, #{name, jdbcType=VARCHAR}, #{title, jdbcType=VARCHAR})

1. 웹소켓 탄생배경 기존 HTTP 프로토콜은 요청에 대해서만 응답을 보낼 수 있기 때문에 채팅에서 계속 메시지를 받기만 하는 상황을 구현하기 힘들었고 HTTP 프로토콜은 매 요청과 응답마다 연결을 수립하고 끊는 과정을 반복해야 했기 때문에 유사한 통신을 반복해야 한다는 비효율성에 대한 문제가 있었다. HTTP를 이용한 실시간 통신의 문제를 해결하기 위해 HTML5부터 웹소켓이 등장했습니다. 웹소켓은 실시간 양방향 통신 을 지원하며 한번 연결이 수립되면 클라이언트와 서버 모두 자유롭게 데이터를 보낼 수 있습니다. 이는 채팅과 같은 연속적인 통신에 대해 계속 유사한 통신을 반복하지 않게 해주어 통신의 효율성도 개선하였습니다. 2. 웹소켓 프로토콜 웹소켓은 HTTP와 같은 OSI 모델의 7계층에 위치하는 프..