Abstract
2021. 12. 10. 18:28
lecture
추상메서드 키워드에서는 클래스와 메서드에 적용됩니다. 실체 클래스들의 메서드 이름들을 통일할 목적(즉 오버라이딩 강제화라고도 한다)으로 사용합니다. 추상메서드가 있는 클래스는 반드시 추상 클래스여야 합니다. 그러나 추상 클래스에 반드시 추상메서드만 선언할 필요는 없고 일반 메서드도 선언할 수있습니다. 각각의 특징을 가지고 있는 자식과 특징이 없는 부모. 부모의 특징과 자식이 틍징이 공통적으로 들어가있습니다. 추상 클래스 추상 클래스는 new키워드로 객체를 사용하지 못하고 오직 상속을 통해서 자식 클래스로 구체화 시켜야 합니다. 추상 클래스도 일반 클래스와 마찬가지로 멤버변수, 생성자, 메소드를 선언할수 있습니다. new 키워드는 호출 불가지만 super()호출하여 추상클래스 객체를 생성하므로 추상클래스도..
Final
2021. 12. 10. 18:09
lecture
금지의 규제(abstract 와 반대가 될수 있는것) 쓰는 이유는 같이 사용하고 싶지않고 바꾸는것에 대한 금지를 설정하는 키워드이다. 클래스에 final 붙으면 상속이 불가능하고 메소드에서 final을 붙으면 오버라이딩이 불가능하다. 변수 또한 변경이 불가능하다 final 또한 접근제어자리 다음에 사용을 합니다. String class 가 대표적 final 클라스 이빈다. final 변수 한번 값을 할당하면 그값을 변경할수 없습니다. final 필드는 직접 초기화 또는 ㅡ생성자로 초기화 해야한다. 초기화 설정의 2가지 방법 직접 입력 ex) public final string name = "//"; 생성자 줘서 초기화 하면 여러가지를 줄수 있슴. thisname=name final 키워드로 상수 사용 s..
Static
2021. 12. 10. 17:49
lecture
static - keyword 자바에서 엄청 중용한 언어입니다.~ static 이란 - 변수와 메서드에 적용되는 키워드 입니다. 객체가 없어도 참조 가능하다. static 제한자는 지정된 변수와 메서드를 객체와 무관하게 만들어주기 때문에 this를 가질수 없습니다. static메서드는 non static 메서드로 재정의(overriding) 될수 없습니다. 대표적인 static메서드는 애플리케이션 main()메서드 입니다. 정적변수 - 클래스들과 공유하는 변수이다. 2번째 특징 클래스 밖에 1개 객체 생성없이 클래스 이름 변수명으로 바로 접근 가능하다. 변수에 붙는 경우 1)공유변수 2)클래스 이름만으로 참조 ex) 다른 두개의 계산기에도 같은값을 얻을수있다.(PI값) "static 하나로 완전히 다른 ..
다형성
2021. 12. 9. 17:53
lecture
다형성(Polymorphism) 영어가 참 어렵죠?? 쓰윽 읽고 넘어갑시다. ㅎㅎ 다형성이란 " 객체가 여러 형태를 가진다" 라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다. -다형성은 상속을 전제조건으로 합니다. -다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타입에 모든 자식객체가 대입될 수 있습니다. 부모클래스 변수 = new 자식클래스() 이때 부모클래스에 있는 기능만 사용할 수 있지만, 오버라이딩 된 메서드는 먼저 실행됩니다. 왜쓸까요?? 부모하나에 자식들을 다 담을수있는 편리성때문에~ 그렇다고 합니다. 오브젝트~ 제일 최상위 개층에 있습니다.. 여기 안에는 모든지 다 넣을수 있습니다. 이종 모음도 다형성의 원리이다...
클래스 상속
2021. 12. 8. 19:06
lecture
프로그램에서는 자식이 부모를 선택한다.! 자식 클래스를 선언할때 어떤부모 클래스를 상속받을 것인지를 결정하고 선택된 부모 클래스는 다음과 같이 extends 뒤에 기술한다. Class 자식 클래스 extends 부모 클래스 { //필드 //생성자 //메소드 } 예를 들어 Car 클래스를 상속해서 SportsCar 클래스를 설꼐하고 싶다면 다음과 같이 작성하면 된다. class SportsCar extends Car{ } 다른 언어와는 달리 자바는 다중 상속을 허용하지 않는다. 즉 부모클래스가 무조건 하나만 와야한다. 부모 생성자 호출 현실에서 부모 없는 자식이 있을 수 있듯이 자바에서도 자식 객체를 생성하면, 부모 객체가 먼저 생성되고 자식개체가 그다음에 생성된다. 부모클래스 생성 - 자식 클래스 생성 ..
Day5 - Method
2021. 12. 5. 15:52
lecture
메서드를 만드는 이유는 무엇일까? 메서드란 반복되는 코드 블록에 이름을 붙여 놓은 것입니다. 메서드는 반복되는 코드를 줄여주고 좀더 구조화시켜 우리가 코드를 알아보기 쉽게 합니다 객체지향프로그래밍에서 메서드는 '객체가 가져야할 기능을 구현하기 위해 만든다'라고 표현합니다. 메서드의 이름 뒤에는 반드시 소괄호'()' 가 따릅니다. 메서드 선언방식 (외우세요!) (매개 변수) 매서드의 구분, 매개변수 4가지의 유형이 존재합니다. 매개 변수 (parameter) 매개 변수는 매서드가 실행될 때 필요한 데이터를 외부로부터 받기 위해 사용됩니다. 매개변수도 일종의 변수이기 때문에 메서드의 소괄호() 부분에 데이터 타입과 함께 선언해야 하며 초기화는 하지 않습니다. 매개변수를 여러개 선언할 수 있으며, 매서드가 외..
Day 5
2021. 11. 30. 18:29
lecture
For 문 while문의 제어변수, 조건, 증감식 을 ()안에 옴겨놓은 형태입니다 - for문은 제어조건을 한꺼번에 지정한다는 점이 다른 반복문과는 다릅니다. - 따라서 정확한 반복 횟수를 알고 있을 때는 for문이 while문보다 유용합니다. For 문의 기본 문법 for(초기화식; 종결 제어식; 증감 제어식){ //수행부분 } for 문의 조건 부분은 세가짖로 나누어 집니다. 1.초기화식 2.종결 제어식 3.증감 제어식 for 문을 이용해서 1부터 10까지 출력하려면 이렇게 하면 됩니다. 초기화식에서 i라는 정수 변수를 선언해주고 1을 지정해줍니다. i가 10보다 작거나 같을동안 반복합니다. 수행부분이 끝나면 i를 1늘려줍니다. for문 의 사용시기 for 문은 while 문ㄱ놔 달리 초기화식이 있고..
Day 4 -1
2021. 11. 27. 15:25
lecture
조건문 (if문) if문은 프로그램의 흐름을 바꾸는데 사용되는 조건 선택분기문입니다. if문의 조건식 결과는 반드시 boolean형이어야되며, 조건식이 참이면 if문 블록안의 실행문이 실행되거, 거짓이면 else문 블록안의 실행문이 실행됩니다. if문장은 else문장 없이 사용할수 있습니다. 그러나 else문장은 if문장 없이 단독으로 사용할 수 없습니다. 조건식의 결과가 거짓일 때 실행할 문장이 없다면, else 문 이하를 생략해도 됩니다. 기본적인 구조와 예제입니다. 다중 분기 조건문 if ~elseif ~else 여러 조건들을 설정할 때 사용하는 조건문입니다. if ~else if 구문은 위에서부터 차례대로 조건을 검색하면서 내려오므로 저건식 설정에 주의를 해야합니다. 조건문의 기본 구조입니다. 조..
Day 4
2021. 11. 27. 15:21
lecture
배열문(Array) 배열은 같은 데이터 유형 변수를 여러개 선언해야 하는 불편함을 줄이기 위해 사용한다. 자바에서는 배열도 일종의 데이터 타입으로 취급할수있기 때문에 배열을 정의하는 대괄호"[]"가 배열 변수명 앞에 오는것이 가능합니다. 배열의 구조 배열 선언: or Int[] arr; 배열 생성: = new arr = new int[크기] -자바의 배열은 선언시에는 크기를 명시할 수 없으며, 생성에 크기를 명시한다. -배열은 기본데이터 타입이나 객체참조 데이터 타입 또는 다른 배열이 순차적인 집합체라고 할수있습니다. -하나의 배열에 여러가지 데이터형을 혼합해서 사용할 수 없습니다. 이런 배열의 특징을 동종모음(/homogeneous collection)이라고 합니다. -배열은 선언, 생성, 초기화의 과..
Day 3-1 스캐너(Scanner)
2021. 11. 25. 23:04
lecture
Scanner API 사용법 1. 스캐너 객체 생성 ex) Scanner scan = new Scanner(system.in) 2. 입력받을 데이터타압에 따른 메서드 호출. ex) scan.next(), scan.nextLine(), scan.nextInt(), scan.nextDouble() 등 - next(): 공백을 포함하지 않는 문자열을 입력 받을 때 - nextLine(): 공백을 포함한 문자열을 입력 받을 때 - nextInt(): 정수를 입력 받을 때 - nextDouble(): 실수를 입력 받을 때 Ctrl + f11을 눌렀을때 값을 직접 적을수있다 색있는 글씨가 내가 직접 적은글입니다. 3.스캐너 객체 종료 scan.close(); - 더이상의 스캐너 사용이 필료없을때 자원 해제