All
기초 #6. 인터페이스 예습
인터페이스 # 클래스와 인터페이스의 관계 우리가 어플, 게임, 전화, 문자 등의 기능이 있는 스마트폰을 갖고있는데, 부모님에게 전화기라고 소개를 하게되면, 부모님은 전화기로만 그 스마트폰을 이용하게되고 꼬맹이에게 게임기라고 소개하게되면, 꼬맹이는 누군가한테 실수로 전화&문자할 일 없이, 게임기만을 이용하게 된다. 여기서 스마트폰은 클래스이고, 전화기, 게임기는 인터페이스라고 생각하면된다. 한 인스턴스가 게임기만을 쓰고자 할때는, 그 게임기 인터페이스를 타입으로 지정하면 되는 것이다. (이럴때 그 인스턴스는 다른 기능의 메서드에 접근하지 못한다.) # implement : 구현하다 변수의 타입으로 인터페이스를 지정하면, 그 인터페이스를 구현하는 클래스를 대입할 수 있다. 이제 세가지 상황을 코드로 봐볼 것..

if문과 for문 문제
# 10171번, 고양이 public class Main { public static void main(String[] args) { System.out.println("\\ /\\"); System.out.println(" ) ( ')"); System.out.println("( / )"); System.out.println(" \\(__)|"); } } 개념 : \를 기능없는 문자로 쓰기 위해서는 앞에 \를 한개 더 붙여줘야한다. # 2753번, 윤년을 판별하는 문제 윤년윤년의 조건은 4의 배수이면서 100의 배수는 아니거나 400의 배수인 년이다. 윤년일 경우, 1을 아니면 0을 출력하는 코드. # 14681번 , 사분면 고르기 1. 사용자의 입력을 받기위해서는 a. import java.util...

기초 #5. 추상클래스 (ex. 계산기 프로그램)
추상? 추상이란, 실체들 간에 공통되는 특성을 추출한 것이다. ex) 삼각형, 사각형, 원 -> 모양, 그리기 등 추상 클래스? 실체 클래스(서브)들의 공통되는 필드와 메소드를 정의만 한 클래스이다. 실체클래스의 부모 역할이어야 한다. 단독X 추상클래스는 온전한 클래스가 아니기때문에 (new연산자로) 인스턴스 생성을 못한다. (상속받은 자식클래스에서 생성 가능하다.) 추상 메서드 : 실체 클래스(서브)들의 공통되는 메서드. (정의만) 실체 클래스 : 추상 클래스의 메서드를 구현하는 클래스. 실체 메서드 : 추상메서드를 구현. (오버라이딩-메서드 이름은 동일하지만 실행내용이 다른 메서드.) 간단한 예를 들면, Animal()이라는 추상클래스가 있고, 여기에는 Sound()라는 추상 메서드를 정의한다. pu..

기초 #4. 상속과 다형성
이번 포스팅에서는 상속과 다형성에 대해 정리하고, 필요한 관련 개념들을 간단히 정리할 것입니다. 목차는 아래와 같습니다. 상속 - super() 생성자 업 캐스팅 정적바인딩과 동적바인딩 다운 캐스팅 상속 - super() 생성자 상속된 서브 클래스의 객체가 main함수에서 생성되면 자동적으로 서브클래스의 기본생성자를 호출하고, 서브클래스에서는 슈퍼클래스의 기본 생성자를 호출하여 차례대로 실행이 된다. 클래스A, B, C 가 있고 B가 A를, C가 B를 상속한 코드로 보면 이렇게 된다. 그리고 이를 실행해보면, 다음과 같은 결과가 뜨는데, A클래스의 객체를 생성했을땐 A의 기본생성자가 호출되고, B클래스의 객체를 생성했을땐 B의 기본생성자 호출-> 부모인 A의 기본생성자 호출-> A의 기본생성자 먼저 실행..
기초실습 #2. 학생 점수 프로그램, 차량 관리 프로그램
프로그램 예제 풀기 1. 학생 점수 프로그램 2. 차량 관리 프로그램 # 학생 점수 프로그램 Q. 학생수와 각 학생들의 점수를 입력 받아 최고 점수 및 평균점수를 구하는 프로그램을 동작되는 예제를 보고 완성하시오. - 학생 수를 입력받기 전까지 배열의 길이를 정할 수 없으므로 runtime때 지정하도록 함. 배열의 레퍼런스변수(참조변수) 선언. - 4. 분석 에서는 최댓값과 평균값 구하기. 학생 점수 프로그램 코드 Q18.java public class Q18 { static Scanner scanner = new Scanner(System.in);//왜 Scanner 객체 선언할때 static을 붙여야하지? public static void main(String[] args) { boolean run ..

기초실습 #1. 계좌이체 프로그램 예제
JAVA 복습 및 정리 1. 참조 타입은 힙 영역에 저장한다. (큰 데이터니까) 2. 참조타입변수(레퍼런스변수)의 메모리 생성 위치는 스택이다. 3. 참조타입에서 ==, != 연산자는 객체의 주소를 비교하는 것이다. (내용x) 4. String 타입은 사실 클래스이므로, 참조타입이다. 5. new 연산자로 클래스의 생성자를 호출함으로써 객체가 생성된다. ex) Account account = new Account(); ->new 뒤에 Account()는 생성자임. 6. (5번의 이유로) 클래스는 생성자없이 (new연산자가 클래스 생성자를 호출함으로써 객체가 생성되기 때문에 )객체를 생성하지 못한다. 7. 객체의 필드는 기본값으로 자동 초기화된다. 8. 생성자는 같은 클래스의 다른 생성자를 호출하기 위해t..