추상메소드는 속빈 껍데기 물려받은 빚이다. 물려받은 일을 본인한테 맞게 해야한다. 무시할 수 없고 꼭 구현해야한다. 그리고 빚을 다값을때까지 클레스 앞에는 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("일을 입력하..
메소드는 함수입니다. 메소드는 데이터 처리과정을 묶어논 것 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 를 사용한다 접근 제한자 자바는 메소드 혹..
Package : Class 용도/종류 별로 분류 // 이 Class의 Package 출처를 작성합니다. // com 폴더 밑 ktds 밑 university package 에 있는 class 이다. package com.ktds.university; public class Student { public String getName ( ) { String name = “아이패드 프로”; return name; } } Package는 Class의 집합이다. Import : 다른 Package에서 Class를 사용하기 위해 자주 사용되는 Class들에 대해서는 Import를 생략 할 수 있습니다. (java.lang 패키지는 Import가 생략된다.) java.util.* : java.util pakage 안..
클래스는 어떤목적을 달성하기 위해 기능과 변수를 하나로 묶어논 모듈입니다. 한번 만들어 놓은 코드의 재사용을 위해 사용합니다. 클래스 외부에는 package 선언과 import 문장 외에 아무것도 선언 할 수 없음. public static void main ( String[ ] args ) main()함수는 JVM이 프로그램을 시작하기 위해 호출하는 함수이다. student1 이라는 변수를 Student 라는 자료형으로 선언해주고 new Studet(); 를 통해 클래스를 객체화 한 후 할당해준다. public class Student { int studentID; String studentName; int grade; String address; public static void main(String..
- Total
- Today
- Yesterday
- 등산앱개발
- 추상클레스
- select사용법
- 모바일웹만들기
- 정규화
- Spring프로젝트
- tkgiddl
- 프레임워크란
- 앱만들기
- 스프링부트
- 라이브러리란
- 스프링
- SQLD
- Java
- 리츠란
- 등산어플
- 컬렉션프레임워크
- JAVA프로젝트
- SQL
- SET연산자
- 모바일앱만들기
- 프레임워크
- 쉬운개념
- 등산로API
- 등산웹개발
- 하이브리드앱만들기
- 스프링개념
- static
- 프레임워크 라이브러리 차이점
- map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |