[JAVA] 인터페이스
인터페이스(interface) 인터페이스란 추상메소드의 집합 구현된 것이 없는 껍데기 설계도 개발 코드 수정을 줄이면서 유지보수성을 향상시키기 위해 인터페이스를 사용한다. 인터페이스 구현 방식 interface 인터페이스이름 { public static final 타입 상수이름 = 값; // 상수 public abstract 메소드...
인터페이스(interface) 인터페이스란 추상메소드의 집합 구현된 것이 없는 껍데기 설계도 개발 코드 수정을 줄이면서 유지보수성을 향상시키기 위해 인터페이스를 사용한다. 인터페이스 구현 방식 interface 인터페이스이름 { public static final 타입 상수이름 = 값; // 상수 public abstract 메소드...
형변환(Casting) 사용할 수 잇는 멤버의 갯수를 조절하는 것 부모 자식 관계의 참조변수는 서로 형변환 가능 상속관계가 아닌 클래스 간의 형변환 불가 class Car {} class Lamborghini extends Car{} class Ferrari extends Car {} 위의 경우 아래와 같이 부모 자식 관계만 서로 형변...
문제 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 “aya”, “ye”, “woo”, “ma” 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 ...
캡슐화와 접근제어자 캡슐화 외부로부터 데이터를 보호하기 위해서, 내부적으로만 사용되는 것을 감추려고 접근제어자를 사용한다. 직접 접근을 막고 메소드로 간접 접근허용시키면 메소드로만 접근이 가능하다. class Time { private int hour; // private로 같은 클래스를 제외한 외부 접근 금지 public vo...
패키지(package) 패키지란? 서로 관련된 클래스의 묶음 자바 클래스를 모아놓은 일종의 디렉토리 패키지 선언 해당 소스 파일의 첫 번째 문장으로 한 번에 선언이 가능 클래스 컴파일 시 첫 줄에 자동으로 생성 패키지의 점(.)은 [상위패키지].[하위패키지].[클래스]을 의미한다. 패키지 선언이 없으면 이름없는(Unname...
상속(inheritance) 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속 특징 자식은 부모의 모든 멤버를 상속받는다.(생성자, 초기화 블록 제외) 자식의 멤버 개수는 부모보다 적을 수 없다.(많거나 같다) 상속은 단일상속만 가능하다. class Parent { ...
호출 스택 스택(stack) 스택의 사전 정의는 ‘쌓다’로 접시처럼 쌓아놓은 것을 의미한다. 호출 스택(call stack) 메소드 수행에 필요한 메모리가 저장되는 공간 메소드 호출 ->호출스택에 메모리 할당, 종료 -> 해제 아래 메소드가 다음 메소드를 ...
객체 지향 프로그래밍(OOP) - Object-Oriented Programming 절차적 프로그래밍을 보완한 새로운 패러다임(반대 개념은 아님) 객체(Object)가 모여 상호협력하여 데이터를 처리하는 방식 프로그램을 묶음 단위로 나눠 사용하기 편하게 만들어놓은 프로그래밍 방식 객체지향언어의 특징 캡슐화 상속 다형성 ...
현재까지는 1차원 배열을 배웠다.하지만 배열 안에 배열. 즉, 다차원 배열도 선언해서 사용이 가능하다. 2차원 배열의 선언과 인덱스 2차원 배열을 선언하는 방법은 다음과 같다. 선언과 방법 선언 예시 타입[][] 변수이름; int[][] score; ...
String배열의 선언과 생성 배열의 타입이 String이어도 int배열의 선언과 생성방법은 같다. String[] name = new String[3]; String배열의 초기화 초기화도 int배열의 초기화와 방법은 동일하다. 또한 new String[] 생략도 같다. char배열과 String클래스 String클래스는 cha...