Archive: 2020

백준 1110번.java

백준 문제 중 풀었던 문제를 다시 풀어보는중 처음 풀었을때도 고생했고, 다시 풀어도 고생한 문제를 정리해보려고 한다. 한시간 이상 풀었는데, 풀고나니까 민망하다… 그럼에도 다시 한 번 공개적으로 정리를 해야 다음번에는 술술 풀 수 있을것이란 기대를 안고 정리해본다.. 1110번 문제 링크 문제0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때

쿠키, 세션 그리고 캐시.

웹 개발을 하면서 빠질 수 없는 개념 이다. 그러나 대충만 알고있고 설명할 수 있는정도로 Session과 Cookie, Cache를 구분하지 못하던 차에 박재성님 강의영상을 보며 세션상태에 따라 페이지에 노출하는 리스트를 변경하는 개발을 하다가 정리하게 되었다. 클라이언트가 HTTP 프로토콜의 GET/POST 방식으로 웹 서버에 페이지를 요청하면, 웹

JAVA - 추상 클래스/추상 메서드

추상 클래스란, 미완성 클래스를 의미한다. 일단 선언은 했지만, 완성되지 않아서 오버라이딩을 통해 기능을 작성해야 한다. 아래 코드를 통해 확인해보자. 123456789package devandy.java.abstraction;public abstract class Bird { public abstract void sing(); pu

JAVA - 클래스의 형변환

클래스는 형변환이 가능하다고 하다. 보다 정확히 이야기하자면, 상속관계에서 수퍼 클래스를 서브 클래스처럼 사용할 수 있다는 이야기이다. 원래 서브 클래스는 수퍼 클래스처럼 사용할 수있다. 서브 클래스에서 선언하지 않아도 수퍼 클래스에 선언 또는 호출되어 있다면 해당 기능(메서드)를 사용할 수 있기 때문이다. 그래서 1public class Sub ex

Java - 상속 (Extends)

상속은 부모 클래스를 상속받은 자식 클래스가 기능을 물려받는 걸 의미한다. 아래 예제 코드를 보자. Bus 클래스는 아무것도 선언되지 않았지만, Car 클래스를 상속받고 있으며, passenger 클래스에서 Bus 클래스의 인스턴스를 생성해서 Car 클래스의 메서드 run()을 실행하는 코드이다. Car.java 1234567package devand

Java - 오버로딩과 오버라이딩

상속을 배우면서 빠질 수 없는 개념들, 오버로딩(overloading)과 오버라이딩(overriding)에 대한 부분이다. 간단히 정의하면 아래와 같다. 개념 설명 Overloading오버로딩 오버로딩은 수퍼 클래스와 같은 이름의 메서드를 서브 클래스에서 여러개 만들어서 사용할 때 쓰는 개념

JAVA - 생성자

생성자란 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 인스턴스를 생성하기 위해 객체를 초기화하는 메서드가 필요한데, 생성자가 이 역할을 한다. 생성자는 기본적으로 메서드와 동일한 역할을 하는데, 메서드와 달리 아래의 두가지 조건을 필요로 한다. 생성자의 이름은 클래스의 이름과 같아야 한다. 리턴값이 없어야 한다. (리턴 타입은 생략한다.

Scope와 Static

위의 이미지처럼 Car 라는 객체로부터 인스턴스를 2개를 생성해서 Car 객체의 변수 wheelCount를 사용하려고 한다. 먼저 이렇게 작성해보았다. taxi, suv라는 이름으로 각각 인스턴스를 생성했고, 각각 다른 값을 wheelCount에 입력해보았다. 출력결과는 예상대로 출력이 되었다. 이번엔 좀 다르게 해보았다. Car 객체의 wheel

JAVA - This()

123456789101112131415161718public class Car { String name; int number; public Car(){ name = "undefined"; number = 0; } public Car(String name) { this.

대입연산자=가 실제로 대입하는 것

자바 배열 변수를 대입연산자를 통해 복사하는 것이 어떤 의미인지를 정리하기 위해 작성해보았다. 1int[][] array_2 = array1; 복사라고 하면 값을 그대로 가져다 사용하는것처럼 들릴수 있는데 사실 반은 맞고, 반은 틀리다.대입연산자 =는 값을 대입하는게 아니라 변수가 참조하는 주소 값을 대입하는 것이다. 1array_1[0][1] =