JAVA/java 41

[JAVA] 업캐스팅/ 다운캐스팅

public static void main(String[] args) { // Animal1 hAnimal = new Human(); //Human객체를 Animal의 기준으로 생성 Animal1 tAnimal = new Tiger1(); //자식객체를 부모객체의 기준으로 생성 Animal1 eAnimal = new Eagle(); //========================================================================== // //hAnimal.read는 호출이 x //hAnumal이 Animal1으로 부모변수로 생성되었기때문에 //-> Animal1이 가지고 있는 것만 가져오기(오버라이딩 가능) //해결: 다운라이딩 (instanceof를 사용하여 나의 부..

JAVA/java 2023.03.26

[JAVA] 다형성 (객체지향프로그램 특징)

다형성(Polymorphism) : 객체 지향 프로그래밍에서 매우 중요한 개념 중 하나 ⇒ 자바에서는 메소드 오버로딩(Overloading) / 메소드 오버라이딩(Overriding)을 통해 다형성을 구현 메소드 오버로딩(Overloading) : 같은 이름의 메소드를 매개변수의 타입, 개수, 순서 등을 다르게하여 여러 개 만드는 것. = 즉, 같은 이름의 메소드가 서로 다른 동작을 하게 됩니다. public class OverloadingExample { public int add(int x, int y) { return x + y; } public int add(int x, int y, int z) { return x + y + z; } public double add(double x, double ..

JAVA/java 2023.03.26

[JAVA] 객체 지향 프로그램의 4가지 특징

객체지향프로그램 : 프로그램을 독립된 단위 객체들을 모아서 처리하는 모임 각각의 객체는 메시지를 주고 받으면서 데이터를 처리함(리턴,매개변수) 특징 1. 추상화 (Abstraction) - 핵심적인 코드만 보여주기 - 인터페이스와 구현을 분리 - 불필요한 부분을 숨김 2. 캡슐화(Encapsulation) - 데이터 보호 (정보은닉) // 정처기에서 필수문제 - 멤버변수(필드)와 메서드를 하나로 묶는 것 - 멤버변수(필드)는 숨기고 메서드로 접근하도록 함 - 은닉화: 객체의 내부 정보는 숨겨서 외부로 드러나지 못하게해 외부에서 데이터에 직접 접근X 3. 상속(Inheritance) - 코드 재사용(확장) - 클래스를 상속받아 수정하여 사용하게 되면 중복코드를 줄일 수 있음 4. 다형성(Polymorphi..

JAVA/java 2023.03.26

[JAVA] ArrayList

arraylist : 배열의 길이와 상관없이 객체 추가 가능한 배열 ArrayList 배열 이름 = new ArrayList(); 주요 메서드 add(자료형 e) : 요소를 배열에 추가 int size() : 요소 전체 개수 get(int index) : index 위치에 있는 배열의 요소 값 remove(int index) : index 위치에 있는 요소 값 제거 및 반환 isEmpty() : 배열이 비어있는지 확인 → true/false 배열 복사 : System.arraycopy( 구배열, 시작번지, 새배열, 시작번지, 개수 ) ; 출력 //1. for문 이용 for(int i=0; i

JAVA/java 2023.03.26

[JAVA] 반복문 while문 / do-while 문

while문 : 조건 식이 true일 경우에는 계속 반복 조건 식의 범위가 분명하지 않은 경우에 사용 (조건 식이 앞에 있음) int i =0; // 초기값 while (조건식) { 실행 문; // 단,조건 식이 false가 될 수 있는 구문을 꼭 포함!! 증감식; } do~while문 : 조건 식이 한번이라도 실행되어야 하는 경우 사용 do { 실행 문; }while(조건문); //조건 식이 필수 사용 예시 Scanner scan = new Scanner(System.in); char ch; do { System.out.println("문자를 입력해주세요.: "); ch = scan.next().charAt(0); if(ch == 'y' || ch =='Y') { System.out.println("y..

JAVA/java 2023.03.26

[JAVA] 반복문 for문 / break / continue

반복문 : 규칙적인 일을 반복적으로 해야하는 경우 사용 for문 for ( 초기화; 조건식; 증감연산식;) { 실행문; } 반복 순서 : 초기화 - 조건식 - 실행문 -> 증감연산식 - 조건식 - 실행문 -> 증감연산식 (반복) 1. 초기화 조건식이나 실행문에서 사용하는 변수를 초기화, 처음 한번만 실행 (생략 가능) 시작하는 값 설정 ( 증감변수 i, j 이용) 1부터 시작 ( i=1 ) 2. 조건식 반복문의 반복을 결정하는 식 (참=반복, 거짓=그만) (생략 가능/생략하면 true로 무한 반복) 끝나는 값 설정 10까지 ( i ≤ 10 ) ⇒ i가 11 되면 반복 종료 3. 증감연산식 조건식에서 사용하는 변수를 증가/감소 시켜서 반복 횟수 결정 (생략 가능) 1씩 증가 : i = i + 1, i++ ..

JAVA/java 2023.03.26

[JAVA] 배열 [ ]

배열 : 같은 타입, 같은 의미를 가지는 변수들의 집합 (참조 변수) [ ] : 인덱스 연산자 = 배열 요소가 저장된 메모리의 위치를 찾아주는 기능 반복문 이용 가능, 관리가 용이, 선언 이후 배열 값 변경이 가능 배열 선언 1. 배열 선언 타입[ ] 배열이름; 타입 배열이름[ ]; 2. 배열 선언 및 초기화 (바로 생성) 타입[ ] 배열이름 = new 타입 [ 길이 ] ; 타입 배열 이름[ ] = new 타입 [ 길이 ] ; 가장 일반적 선언 [ ] 길이가 공백일 경우 = 0으로 생성 타입 [ ] 배열 이름 = new 타입 [ ] { 값, 값, 값, 값, 값} ; 타입 [ ] 배열 이름 = {값, 값, 값, 값, 값} ; 선언과 동시에 초기화가 가능한 경우 사용 (바로 사용) 주의 사항 배열의 시작번지..

JAVA/java 2023.03.25