본문 바로가기

분류 전체보기

(275)
[Java] 25 ● 내부 클래스 - 클래스 내부에 선언된 클래스 - 클래스 내부에 클래스를 선언함으로써 외부 클래스의 필드를 마음대로 사용할 수 있다. - 단독으로 동작할 필요가 없어서 굳이 밖에 만들 필요가 없을 때 사용한다. ​ 1. 인스턴스 클래스 - 외부클래스 외부인스턴스 = new 외부클래스(); - 외부클래스.내부클래스 내부인스턴스 = 외부인스턴스.new 내부클래스(); ​ 2. 스태틱 클래스 - 외부클래스.내부클래스 내부인스턴스 = new 외부클래스.내부클래스(); ​ 3. 지역 클래스 - 메소드 안에 선언된 클래스로 메소드 영역에서만 사용이 가능하다. ​ 4. 익명 클래스(무명 클래스) - 이름이 없는 클래스를 의미하고, 일회성으로 사용할 때 활용한다. ​ ※ A라는 클래스에서 b라는 작업이 자주 쓰이고,..
[Java] 24 ● 추상 클래스 - 추상메소드가 있는 클래스 - 필드 위에 미구현된 공간이 존재한다.(추상 메소드 부분이 미구현된 상태) ​ ​ ​ ● 추상 클래스를 상속 받은 클래스 1. 반드시 추상 메소드를 override 해야한다. 2. 자식 클래스도 추상 클래스로 만든다. ​ ​ ​ ● 추상 클래스 사용 목적 - 자식 클래스에서 반드시 재정의되어야 하는 메소드를 추상 메소드로 선언함으로써 강제성을 부여할 수 있다. ​ ​ ​ ● 추상 메소드 - 이름만 정의된 메소드 - 기능은 미구현 상태 → body( { } )가 없다 ​ ​ ​ ● 인터페이스(틀) - 추상 클래스를 고도화시킨 문법 - 추상 메소드만 선언할 수 있다. - 상속 방법 : implements로 상속을 받는다. - 한 번 밖에 사용하지 못하는 exte..
[Java] 23 실습(부모클래스 호출 복습 - 동물 키우기) ​ ※ sleep 메소드 test public class SleepTest { public static void main(String[] args) { System.out.print("시작"); for(int i = 0; i < 5; i++) { System.out.print("~"); try { Thread.sleep(1000); // 5초 멈춤 } catch (InterruptedException e) { System.out.println("오류 발생 시 오는 영역"); } } System.out.println("종료"); } } ​ ​ 1. 부모 클래스(Animal.java) 생성 public class Animal { int hp; // 체력을 저장할 ..
[Java] 22 ● super - 부모클래스를 의미한다. ​ ​ ​ ● 부모클래스에 있는 메소드 호출하는 방법 - super.메소드() ​ ​ ​ ● 부모클래스의 생성자를 호출하는 방법 - super(); - 항상 부모생성자가 가장 먼저 호출되어야 한다. ​ ​ ​ ● instanceof( : 연산자) - 해당 타입의 인스턴스인지 판별해준다. (ex) myCar instanceof Car : myCar는 Car 타입의 instance인가? → 맞으면 true, 틀리면 false ​ ​ ​ ● Object 클래스 - 최상위 클래스 - 자바의 모든 클래스는 Object 클래스를 상속받는다. ​ ​ ​ ● 형변환(casting) 1. up casting - 부모타입에 자식 값을 넣는 문법(자식타입 → 부모타입) ​ 2. do..
[Java] 21 ● 상속 - 기존에 사용하던 클래스의 필드를 새롭게 만들 클래스에서 사용하고 싶을 때 활용하는 문법 public class 자식클래스명 extends 부모클래스명 { 멤버... } ​ ​ ​ ● 메소드 오버라이딩(재정의) - 부모클래스에 존재하는 메소드의 이름과 똑같은 이름으로 메소드를 다시 정의하는 것을 의미한다. - 자식클래스 타입 객체 : 자식에서 재정의된 메소드가 호출된다. - 부모클래스 타입 객체 : 부모에서 정의된 메소드가 호출된다. ​ ​ ​ ● 다형성 1. 오버로딩 - 매개변수의 타입 혹은 갯수가 다르지만 이름이 같은 메소드 ​ 2. 오버라이딩 - 부모필드에 선언된 메소드를 자식에서 같은 이름으로 선언하는 것 ​ ​ ※ @Override - 메소드가 오버라이딩 됨을 설명하는 어노테이션 주석..
[CodeUp_JAVA] 1076 ~ 1080 ● 1076 https://codeup.kr/problem.php?id=1076 [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(설명) C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr ​ 문제 설명 영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 출력해보자. ​ 입력 영문자 1개가 입력된다. (a ~ z) ​ 출력 a부터 입력한 문자까지 순서대로 공백을 두고 출력한다. ​ 내 풀이 ​ import java.util.Scanner; public class Main{ public static void main(..
[CodeUp_JAVA] 1071 ~ 1075 ● 1071 https://codeup.kr/problem.php?id=1071 [기초-반복실행구조] 0 입력될 때까지 무한 출력하기1(설명) C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr ​ 문제 설명 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. ​ 입력 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. ​ 출력 입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 ..
[Java] 20 ● 접근 제어자(access modifier) ​ ​ ​ ● ​private 사용 이유 - private을 통해 데이터에 직접 접근하는 것을 방지함으로써 유효한 값만 다룰 수 있고, 어떻게 동작하는지를 외부로부터 감출 수 있다.(데이터 은닉) ​ ​ ​ ● 객체 지향 언어 - 코드가 독립적으로 존재할 수 있도록 지향하는 언어 - 객체라는 개념을 기반으로 한 프로그래밍 패러다임 ​ ​ ​ ● 객체 지향 언어의 특징 - 다형성 : 어떤 한 요소에 여러 개념을 넣어 놓는 것(오버로딩, ...) - 캡슐화 : 데이터와 코드의 형태를 외부로부터 알 수 없게 감추는 방법(데이터 은닉) - 추상화 : 객체의 공통적인 특성을 파악해서 필요 없는 특성을 제거하는 과정 - 상속 : 새로운 클래스가 기존 클래스의 코드를 사..