어떤 클래스가 인터페이스를 사용한다면, 그 클래스는 반드시 그 인터페이스 매소드를 사용해야한다..!! interface I { public void z(); } class A implements I{ public void z(){} } 특정 클래스(classA) 를 특정 인터페이스(interface I)와 결합시키면 인터페이스 안에있는 매소드(z())를 반드시 구현하도록 강제한다. - 인터페이스 : 일 시키는 애.. -> classA는 interfaceI를 구현한다.. 그럼 인터페이스는 언제 사용하는 것인가? 여러 개발자들이 함께 참여하는 프로젝트일경우 구현을 강제하여 약속한대로 개발이 가능하도록 돕는 역할을 한다. 인터페이스에서 선언한 변수는 모두 컴파일 과정에서 상수로 자동 변환됨 인터페이스에서 선언..
추상메소드는 속빈 껍데기 물려받은 빚이다. 물려받은 일을 본인한테 맞게 해야한다. 무시할 수 없고 꼭 구현해야한다. 그리고 빚을 다값을때까지 클레스 앞에는 abstract 가 붙는다 like.. 빚쟁이마크 그리고 대대손손 물려준다고 이해하면 편하다 추상클레스안에 템플릿 메소드를 넣어놓고 메소드 수행 순서를 고정시켜 놓을 수도 있다. 템플릿 메소드는 final 로 선언해서 고정한다 근데 왜 오버라이딩을 써도 되는데 왜 추상메소드로 사용할까? 설계단계에서 용이하기때문에.. 꼭 구현해야하는 메소드를 놓치지 않을 수 있다.. 그러나 실무에서 잘 쓰지는 않는다고 한다.. 밑의 예제를 써보면 추상클래스에 대한 이해가 쉽다.. // Cartest package carDemo; public class CarTest {..
'상속을 준다' 라고 하면 화살표가 A->B 로 내려가야 하기 때문에 B가 A로 확장한다 라고 이해하는게 편하다. 상위클래스 포괄적인 개념 (포유류) 하위클래스 구체적인 개념 (사람) private 대신 protected를 사용한다 super() 예약어는 하위 클래스에서 상위클래스에 접근할 때 사용한다. super() 는 상위클래스의 생성자를 호출할때도 사용한다. super(); 를 작성하지 않아도 묵시적으로 호출된다. Employee생성자에 매개변수(Stirng name)가 정의되어 있기 때문에.. super()를 사용하여 매개변수에 값을 넣어준다... 상속은 다음과 같은 관계일 때 사용합니다. IS-A관계 일반적인 개념과 구체적인 개념의 관계입니다. 의미가 연결이 되어 있어야 함.. 단순히 코드 재사..
클래스에 선언된 메소드나 멤버변수는 반드시 객체화 시켜야 사용 할 수 있습니다. 그러나 메소드를 인스턴스화 시키지 않고 사용하고 싶다면 static을 사용해야합니다. 어떤 변수를 static으로 사용 할까요? 인스턴스 간에 공통으로 사용할 값.. (학번, 가격..) static 변수는 class 변수 라고도 한다. class가 가지고 있는 값 static 메소드는 class 메소드 라고도 한다. 그럼 나머지는? 인스턴스 변수, 인스턴스가 가지고 있는 값.. -> serialNum을 학생이 생성될때마다 증가시켜 학생 고유의 번호로 그리고 초기화 되지 않고 모든 인스턴스 에서 공유 사용한다.
생성자 메소드로 할 수 있는 가장 흔한 작업은 멤버변수 초기화 작업입니다. -> 디폴트 생성자 : public Calculator(){} 생성자도 오버로딩이 가능합니다 생성자는 여러개 사용이 가능합니다. 컴파일 할때 형식을 보고 그 생성자를 불러 사용한다. This 는 자신(instance)을 지칭하는 키워드 입니다. a = 10; this.a = 10; 은 같지만 this는 멤버변수를 정확하게 지적해준다. -> 출력해보면 11번째 줄과 20번째줄 출력이 동일한 BirthDay에 대한 주소를 출력한다
Class / Method 개념 연습을 위한 예제 // 실행부 package practice; import java.util.Scanner; public class MyDateTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("유요한지 검증할 날짜를 입력하세요."); Scanner sc = new Scanner(System.in); System.out.println("년도를 입력하세요."); int y = sc.nextInt(); System.out.println("월을 입력하세요."); int m = sc.nextInt(); System.out.println("일을 입력하..
Class / Method 개념 연습을 위한 예제 // 실행부 package practice; import java.util.Scanner; public class MyDateTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("유요한지 검증할 날짜를 입력하세요."); Scanner sc = new Scanner(System.in); System.out.println("년도를 입력하세요."); int y = sc.nextInt(); System.out.println("월을 입력하세요."); int m = sc.nextInt(); System.out.println("일을 입력하..
메소드는 함수입니다. 메소드는 데이터 처리과정을 묶어논 것 f(x) = ab + x public class Calculator { public int f( int x ) { int a = 10; int b = 50; int result = a * b + x; return result; } } -> x 라는 변수의 값을 받아서 result라는 결과를 뱉어낸다. Calculator calc = new Calculator( ); int result1 = calc.f ( 10 ); int result2 = calc.f ( 30 ); int result2 = calc.f ( 50 ); -> 각각 510, 530, 550 값을 뱉어낸다. 반환 타입이 없을 경우 : void 를 사용한다 접근 제한자 자바는 메소드 혹..
- Total
- Today
- Yesterday
- map
- select사용법
- SQL
- 프레임워크 라이브러리 차이점
- SQLD
- 앱만들기
- 등산웹개발
- 쉬운개념
- 라이브러리란
- 정규화
- 컬렉션프레임워크
- 등산로API
- 스프링부트
- Spring프로젝트
- 리츠란
- Java
- 프레임워크란
- 추상클레스
- 스프링
- 등산어플
- 모바일앱만들기
- static
- JAVA프로젝트
- SET연산자
- tkgiddl
- 프레임워크
- 모바일웹만들기
- 스프링개념
- 하이브리드앱만들기
- 등산앱개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |