목록전체 글 (37)
백엔드 개발 공부 일지
● 인터페이스란? 인터페이스는 추상클래스에서도 잠시 언급했듯이 모든 메서드가 추상메서드로 되어있는 클래스 이다. 정확히는 인터페이스는 상수, 추상메서드로만 이루어져 있고 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을한다. 이는 추상클래스보다도 구현된 코드가 없기 떄문에 인스턴스도 마찬가지로 생성할 수 없다. 다음은 인터페이스의 예제이다. (계산기를 만들기 위해 선언한 코드) package interfaceex; public interface Calc { // 인터페이스에서 선언한 변수는 컴파일 과정에서 상수로 변환됨. double PI = 3.14; int ERROR = -99999999; // 인터페이스에서 선언한 메서드는 컴파일 과정에서 추상 메서드로 변환됨. int add(int..
● 추상 클래스 추상클래스? 내가 지금까지 구현한 모든 클래스는 concrete 클래스이다. 추상클래스란, 하나 이상의 추상 메소드를 포함한 클래스를 추상 클래스(abstract class)라고 합니다. 단 하나 이상의 추상 메서드만 포함하면 되며 생성자, 일반 메서드도 포함 가능합니다. 추상클래스와 인터페이스의 다른 점은 인터페이스는 추상메서드"만" 포함하나, 추상 클래스는 하나의 추상 메서드만 포함하면 추상클래스가 됩니다. 이 때 추상 메서드란, 함수 선언만 되어있고 구현부가 없는 메서드를 추상 메서드라고 합니다. 추상 클래스는 "다형성"을 보장하기 위해 나타난 개념인데요. "자식 클래스에서 반드시 재정의가 되어야 된다"는 점에서 다형성이 보장됩니다. 부모 클래스에서 추상 메서드를 선언하면, 자식 클..
https://velog.io/@jhvictor4/%EC%84%9C%EB%B2%84-%EA%B7%BC%EB%B3%B8-Web-Server%EC%99%80-WAS-Before-You-Study-Spring-1
● 상속이란? 상속은 객체 지향 프로그램에 이써 유지보수성과 연관이 깊은 개념이다. B클래스를 생성할때의 기존에 있던 A클래스의 멤버변수나 메서드를 사용해야 할 경우 새로 클래스를 생성하지 않고 A클래스를 상속받음으로써 멤버변수와 메서드를 공유하여 사용할 수 있다. 이경우, A클래스는 상위클래스, B클래스는 하위클래스에 해당한다. Class B extends A { } 아래의 예시는 Customer라는 상위클래스를 VIPCustomer라는 하위클래스가 상속을 받는 예제이다. (VIP 고객은 일반 고객과 다르게 상담원 ID와 할인률이 적용되는 경우) 보통 상위클래스에서의 멤버변수는 하위클래스만 사용할 수 있도록 protected로 선언한다. public일시 하위클래스외의 클래스가 사용이 가능하며 priva..
● 숫자카드 2 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나..