반응형

JAVA 32

상속시 호출순서에 따른 실행결과 변화

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 package PM; //+하위 객체가 만들어 질때 먼저 상위 객체의 필드와 메소드가 메모리에 올라가고 생성자 호출후 //하위 객체의 필드와 메소드가 따라 올라가고 생성자가 호출된다. class Dypar{ int a = initA(); //애는 일반이라 공간먼저 받고 이후에 값을 가져온다. static int sa = initS..

JAVA 2020.08.30

자바/상속 클래스들의 호출 순서

자바 상속의 특징 1.자바클래스의 상속은 단일상속이다. 2.상속은(특정 클래스가 가지는 일부 속성과 기능을 다른 클래스에 제공하기위해 맺는 클래스간의 관계이다. ) 3.두 클래스를 부모와 자식관계로 맺어주는다. 4.자식은 부모의 요소를 전부 가져온다.(단, 생성자는 제외이다.) 5.조상은 자손에게 영향O , 자손클래스의 변경은 아무런 영향X. 6.상속받지 않은 클래스들은 모두 최상위 클래스 java.lang.Object클래스를 묵시적으로 상속받는다. 자 그렇다면 4번의 (단,생성자는 제외이다.) 의 부분에 대해서 호출순서를 알아보도록하겠다. 조상클래스인 superclass , superclass의 자식클래스인 subclasss, subclasss의 자식클래스인 subsubclass가 있다면 생성자의 호출..

JAVA 2020.08.30

배열1 /선언/생성/길이/인덱스/초기화

배열: 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다. 배열의 생성 타입[] 변수이름 //배열을 선언(배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입 [길이]; //배열을 생성(실제 저장 공간을 생성) 인덱스 1.배열의 각 저장공간 : "배열의 요소" 2.배열이름[인덱스] 형식으로 배열의 요소에 접근한다. 3.인덱스(index): 배열의 요소마다 붙여진 일련번호이다. 4. 1이아닌 0부터 시작한다. 5. 상수대신 변수나 수식도 사용가능하다 / []안에 수식이 포함된경우 수식먼저 계산한다. ex) score[i+1] 배열의 길이 배열이름.length 를 사용한다. ex) int []arr = new int[5]; //길이가 5인 배열 int tmp = arr.length; //arr...

JAVA 2020.08.14

for문 while문

for문은 for(초기값; 조건식; 증감량){ 반복할 문장 } 이다. 그렇다면 계속 무한 반복하게 될 텐데 멈추는 식을 어떻게 사용하는가? 예를 들어보도록 하겠다. for (int i = 0 i < 10 i++) { 반복할 문장 } (초기값; 조건식; 증감량)을 원하는 값까지만 나타내도록 설정하면 반복하고 멈추게 된다. 그런데 답이 몇 번 나왔는지 확인하기 힘들 수 있다. 이번엔 젤리 앞에 순서를 붙여줘 보도록 하자. i+1을 추가하여 1부터 시작하여 10에서 멈추도록 설정하여 보았다. 이번엔 while문을 해보겠다. while문 while은 쓰는 방식이 두 가지가 있다. 1. while이 앞에 나와있다 while(조건식){ 반복할 문장 } 2.while이 뒤에 나와있다. do{ 반복할 문장 }while..

JAVA 2020.08.13

조건문if /switch문

제어문은 1.조건문 2.반복문 이 있다. 1.조건문은 - if문 - switch문이 있다 if 문 if문에 대하여 알아보겠다. if문은 기본적으로 if(조건식){ 실행할 문장 위의 조건식에 상관없이 모두 검사 } 인데 이를 위에서 만든 퀴즈로 대입해 본다면, if(answer){ result } 이다 . 그리고 if가 3가지가 나오는 경우 모든 식을 조건식에 상관없이 검사하게 된다. if(조건식){ 실행할 문장 위의 조건식에 상관없이 모두 검사 }if(조건식){ 실행할 문장 }if(조건식){ 실행할 문장 } ex.)숫자를 1-10까지 중에 맞추기를 한다고 예를들어보겠다. 답이 1일 경우 if문은 1이라는 답을 다 찾아도 계속해서 2~10까지 검사를 하기 때문에 비효율 적이다. 그러나 ex.)밥 먹었니? ..

JAVA 2020.08.12

연산자

연산자 연산을 수행하는 기호 (ex. + = * / )이다. 피연산자 연산자의 작업 대상 (변수 ,상수, 리터럴 , 수식)이다. ② 용도에 따른 연산자 우선 순위 종류 연산방향 연산자 우선순위 단항연산자 ← ++, --, +, ~, !, (형변환 캐스트 연산자) 높음 산술연산자 → *, /, % → +, - → , >>> 비교연산자 → , =, instanceof → ==, != 논리연산자 → & → ^ 낮음 → | → && → || 삼항연산자 → ?: 대입연산자 ← =, *=, /=, %=, +=, -=, =, >>>=, &=, ^=, != 연산자의 개수에 의한 분류 ex) -5-6 의 경우 5앞의 -는 부호 연산자 5와6사이의 -부호는 뺄셈 연산자이다. -의 피연산자는 5 하나이고 -의 피연산자는 5..

JAVA 2020.08.11

개념정리 간단히

20200810 (월) ​ 클래스 = 인스턴스의 동질 집합 인스턴스 = 객체 객체 = 상태 +기능이 있다 /현실세계를 반영해서 만들어 놓은형태 상태 = 멤버변수(필드) 기능 = 메소드 ​ 객체지향 = 객체가 객체를 불러 이용하는것 ex) 휴대폰이 카메라를 물러서 사진을 찍는다. ​ ​ 인터페이스와 추상클래스의 가장 큰 차이점? ​ 인터페이스 = 구현객체가 없다. -> 몇개의 인터페이스를 붙여도 상관이 없다 ->(강결합) -> 축적이 주 목적이 아니다. -> 작업지시서를 내려주는 역할 . ​ 상속 = 다형성 / 자식의 여러 형태를 부모가 받을 수 있다. -> 데이터 축적이 주 목적 ​ ​ 제어문 = 흐름을 바꾸(제어하)는것-> 조건문과 반복문 ​ 조건문 - if 와 switch if -구간 분기 switc..

JAVA 2020.08.10

내부클래스 /캡슐화

내부클래스란? 클래스 내에 선언된다는 점 이외에는 일반 클래스와 똑같다. 장점 -내부클래스에서 외부 클래스에 쉽게 접근이 가능하다. -코드의 복잡성을 줄일 수 있다. 내부 클래스의 선언법 내부 클래스의 필드를 사용하기 위해서는 외부 클래스에서 내부 클래스를 객체화 해야한다. 외부 클래스명 객체명 = new 외부클래스 생성자(); 외부클래스명.내부클래스명 객체명 = 외부클래스 객체명.new 내부클래스 생성자(); 붉은색이 외부 클래스 초록색이 내부 클래스이다. 선언법과 호출법이다. 캡슐화란? 클래스를 외부에 노출시키고 싶지 않을 때 사용한다. 사용예) 내부 클래스는 GUI(Graphic User Interface)개발시 많이 사용된다. ex) a라는 버튼과 b라는 버튼이 있다고 하자. 두 버튼의 기능이 서..

JAVA 2020.08.07

(TIL)메서드 /선언부/구현부

메서드는 특정잡업을 수행하는 일력의 문장들을 하나로 묶은것이다. 수학의 함수와 유사하다, 어떠한 값을 입력하면 결과를 반환해준다 라고 생각하면 된다. [하지만 함수와 달리 메서드는 입력값 또는 출력값이 없을 수도 있으며, 심지어는 입력값과 출력값이 모두 없을 수 있다. ] 메서드를 사용하는 이유로는 1. 높은 재사용성 2. 중복된 코드의 제거 3. 프로그램의 구조화 가 있다. 1. 높은 재사용성 = 한번 메서드를 만들어놓으면 몇번이든 호출 할 수있다! (두번 세번 열번 만들지 않을 수 있다니 얼마나 좋은가~!) 2.중복된 코드의 제거 = 같은내용의 문장들이 여러곳에 반복될때 , 메서드를 호출하여 한번에 해결할 수 있다. 그러면 코드도 짧아지면서 오류발생 가능성도 줄일 수 있다. 3. 프로그램의 구조화 =..

JAVA 2020.07.27
반응형