728x90 👨🏫Study/JAVA59 [JAVA] 07 - 2 타입 변환과 다형성 다형성 간단히 설명 - 다형성 : 다양한 객체를 통해 다양한 실행결과를 출력시킴 - 다형성의 예 : 모든 타이어는 달리게 해주는 기능이 들어있지만 어떤 타이어를 장착하느냐에 따라 주행 성능이 달라짐 - 예를 들어 자동차는 한국타이어와 금호타이어 중에서 타이어 타입을 선택하고 각 타이어 마다 성능은 다르게 나온다. - 다형성을 구현하려면 메소드 재정의 + 타입변환이 필요하다. 자동 타입변환 - 클래스에서의 타입 변환은 상속 관계에 있는 클래스 사이에서 발생하며 자식이 부모 타입으로 자동 변환이 가능하다. - 자동 타입 변환 (=promotion)은 프로그램 실행 도중에 자동적으로 일어나는 타입 변환을 말함 - 자동 타입 변환 형태 : 부모타입 변수 = 자식타입; - 자동 타입 변환 개념 : 자식이 부모의 .. 2022. 3. 21. [JAVA] 07 - 1 상속 용어정리 상속 : 부모 클래스의 필드와 메소드를 자식 클래스에서 사용할 수 있도록 한다. 메소드 재정의 : 부모 메소드를 자식 클래스에서 다시 정의하는 것을 의미 final 클래스 : final 클래스는 부모 클래스로 사용할 수 없다. final 메소드 : 자식 클래스에서 재정의할 수 없는 메소드 메서드 오버로딩 vs 메서드 오버라이딩 요소메서드 오버로딩 오버라이딩 선언 같은 클래스나 상속 관계에서 동일한 이름의 메서드 중복 작성 서브 클래스에서 슈퍼 클래스에 있는 메서드와 동일한 이름의 메서드 재작성 관계 동일한 클래스 내 혹은 상속 관계 상속 관계 목적 이름이 같은 여러 개의 메서드를 중복 작성하여 사용의 편리성 향상, 다형성 실현 슈퍼 클래스에 구현된 메서드를 무시하고 서브 클래스에 새로운 기능의 .. 2021. 8. 11. [JAVA] 06 - 6 패키지와 접근 제한자 용어정리 패키지 선언 : 해당 클래스 또는 인터페이스가 어떤 패키지에 속할 것인지 선언 package 상위패키지.하위패키지; import 문 : 다른 패키지에 소속하는 클래스와 인터페이스를 사용할 경우 필요 import 상위패키지.하위패키지.클래스이름 또는 *; Getter : 필드값을 외부로 리턴하는 메소드 Setter : 외부에서 값을 받아 필드값을 변경하는 메소드 접근 제한자 : 클래스, 인터페이스, 그리고 멤버들의 사용을 제한할 경우 사용 패키지 패키지의 물리적인 형태는 파일 시스템의 폴더 패키지는 클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식 클래스의 전체 이름은 패키지 + 클래스 사용해서 다음과 같이 표현 상위패키지.. 2021. 8. 6. [JAVA] 06 - 5 인스턴스 멤버와 정적 멤버 용어정리 인스턴스 멤버 : 객체를 생성한 후 사용할 수 있는 필드와 메소드(인스턴스 필드와 인스턴스 메소드) this : 객체 내부에서도 인스턴스 멤버에 접근하기 위해 this를 사용할 수 있다. 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하기 위해 사용 정적 멤버 : 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드 static : 정적 멤버를 선언할 때마다 사용하는 키워드 싱글톤 : 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우 사용하는 코드 패턴 final 필드 : 초기값이 저장되면 이것이 최종값이 되어 프로그램 실행 도중 수정할 수 없는 필드 상수 : 불변의 값을 저장하는 정적 필드, final static.. 2021. 8. 6. [JAVA] 06 - 4 메소드 용어정리 선언부 : 리턴타입, 메소드 이름, 매개 변수 선언 void : 리턴값이 없는 메소드는 리턴 타입으로 void 매개 변수 : 메소드 호출 시 제공되는 매개값이 대입되어 메소드 블록 실행 시 이용됨 리턴문 : 메소드의 리턴값을 지정하거나 메소드 실행 종료를 위해 사용할 수 있음 호출 : 메소드를 실행하려면 ‘메소드 이름(매개값,…)’ 형태로 호출 오버로딩 : 클래스 내에 같은 이름의 메소드 여러 개 선언하는 것을 말함 메소드 선언부 리턴 타입 : 메소드가 리턴하는 결과의 타입 표시 메소드 이름 : 메소드의 기능이 드러나도록 식별자 규칙에 맞게 지음 매개 변수 선언 : 메소드 실행할 때 필요한 데이터를 받기 위한 변수 선언 메소드 실행 블록 : 실행할 코드 작성 형식 리턴타입 메소드이름 (매개변수선.. 2021. 8. 6. [JAVA] 06 - 1 객체 지향 프로그래밍, 06 - 2 필드, 06 - 3 생성자 단어정리 클래스 : 객체를 만들기 위한 설계도(관례적으로 첫 글자를 대문자로 사용하고, 여러 단어의 경우 단어의 앞글자마다 대문자 사용) 객체 : 클래스로부터 생성되며 new 클래스로 생성 new 연산자 : 객체 생성 연산자이며 생성자 호출하고 객체 생성 번지를 리턴 클래스 변수 : 클래스로 선언한 변수이며 해당 클래스의 객체 번지 저장 인스턴스 : 어떤 클래스를 기준으로 만들어진 객체 -> 해당 클래스의 인스턴스 클래스 멤버 : 클래스에 선언되는 멤버로 필드, 생성자, 메소드가 있음 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별이 가능한 것 메소드 - 객체들 사이의 상호작용 수단 * 메소드 호출은 도트(.)를 객체에 붙여서 가져오면 됩니다. 객체.. 2021. 8. 5. [JAVA] 05 참조 타입 참조 타입과 참조 변수 자바의 타입은 크게 기본타입과 참조 타입으로 분류됩니다. 참조 타입 - 번지를 통해 객체를 참조 메모리 사용 영역 메모리 영역은 메소드 영역, 힙 영역, JVM 스택으로 구분됩니다. 메소드 영역은 JVM이 시작될 때 생성되는 모든 스레드가 공유하는 영역입니다. 코드에서 사용되는 클래스들을 정적 필드/상수, 메소드 코드, 생성자 코드로 분류하여 저장합니다. 힙 영역은 객체와 배열이 생성되는 영역입니다.(쓰레기 수집기가 따로 있어 제거는 별도로 필요x) JVM 스택은 메소드를 호출할 때마다 프레임을 추가하고 메소드가 종료되면 해당 프레임을 제거하는 동작을 수행합니다. *참조 타입 변수는 힙 영역의 객체를 참조하지 않는다는 뜻으로 null값을 가질 수 있습니다. NullPointerEx.. 2021. 8. 4. [JAVA] 04 조건문과 반복문 if(else if - else) 조건문 if(조건식1){...}else if(조건식2){...}else{...}를 말하며 조건식1이 true가 되면 if 중괄호 내부를 실행하고, 조건식2가 true가 되면 else if 중괄호 내부를 실행합니다. 조건식1과 조건식2가 모두 false가 되면 else 중괄호 내부가 실행됩니다. 형식) if(조건식1){ 조건식1이 true 실행문A }else if(조건식2){ 조건식2가 true 실행문B }else{ 실행문C } 실행문D if (조건1) { //조건1이 만족되면 실행 }else if (조건2) { //조건1이 만족되지 않고 조건2가 만족되면 실행 }else { //조건1,2가 모두 만족되지 않을 떄 실행 } switch문 switch(변수){case 값1:.. 2021. 8. 3. [JAVA] 03 연산자 연산자와 연산식 연산(operation) - 프로그램에서 데이터를 처리하여 결과를 산출하는 것 연산자(operator) - 연산에서 사용되는 표시나 기호 ex. +,-,*,%... 피연산자(operand) - 연산되는 데이터 연산식(expression) - 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 x++; // 단항 연산자 x + y; // 이항 연산자; (sum > 90) ? 1 : 0; // (조건) ? (참인 경우 반환 값) : (거짓인 경우 반환값); 삼항 연산자 *연산결과 값과 저장할 변수의 데이터 타입은 동일해야한다. 증감 연산자(++,--) i++;// 다른 연산을 수행한 후 피연산자의 값 1 증가 ++i;// 다른 연산을 수행한 전 피연산자의 값 1 증가 i--;// 다른 연산.. 2021. 8. 3. 이전 1 ··· 3 4 5 6 7 다음 728x90