📗Java

· 📗Java
객체 지향 언어의 핵심은 추상화입니다.가장 관련된 개념인 추상클래스와 인터페이스에 대해 알아보도록 합시다! 문제 상황 정의1. 대학 구성원에 대한 엔티티를 설계하고 있습니다. 학부생, 대학원생, 교수가 대학 구성원에 속합니다. 학부생, 대학원생, 교수 모두 공통적으로 K 대학교의 멤버 (Member) 입니다. 멤버로서 공통적인 인스턴스 변수를 가질 것이기 때문에 Member 클래스를 정의하고 이를 상속받아 학부생(Undergraduate), 대학원생(Graduate), 교수(Professor) 를 정의하도록 해보겠습니다.  Member 클래스 정의 - 추상클래스 (Abstract Class)public abstract class Member { String identificationNumber; ..
· 📗Java
Error 와 Exception 에러 (Error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류. 프로그램을 강제 종료시킬 수 있다. 예외 (Exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류. 예외는 처리를 하여 프로그램의 비정상 종료를 방지해야 하고 이를 예외처리라고 부릅니다. Runtime Exception 클래스 예외는 두 가지로 분류됩니다. RuntimeException 클래스 프로그래머의 실수로 발생하는 예외 예외 처리가 선택적이며 컴파일 때 체크되지 않고 런타임에 발생하는 예외 - Unchecked Exception ex) NullPointerException, IndexOutOfBoundException 이 외의 Exception 클래스 사용자의 실수..
· 📗Java
디폴트 메소드는 jdk 1.8부터 생긴 메소드입니다. 추가된 이유는 interface 구현 문제 때문인데 이에 대해 예시를 보며 알아보도록 하겠습니다. Car 클래스가 Runnable 인터페이스를 상속받는 예시를 확인해 보겠습니다. interface Runnable { void forward(int d); // 인터페이스의 메소드는 항상 추상메소드 public abstract } class Car implements Runnable { String type; String color; public void forward(int d) { System.out.println("move : " + d); } } 이때 만약에 Runnable 인터페이스에 변경사항이 생긴다면 어떻게 될까요? Runnable 한 것은 ..
· 📗Java
this 와 마찬가지로 super 도 생성자와 참조변수 둘 다 존재합니다. super 의 두 가지 용도를 알아보도록 합니다. 1. 생성자 super() 2. 참조변수 super 1. 생성자 super() 조상의 인스턴스 멤버들을 초기화하기 위해 사용됩니다. public static void main(String[] args) throws IOException { Child child = new Child(1, 2); } static class Parent { int parentIv; public Parent(int parentIv) { this.parentIv = parentIv; } } static class Child extends Parent{ int childIv; public Child(int ..
· 📗Java
Java 에서의 this 는 생성자 this() 와 참조변수 this 두 가지가 존재합니다. 각각은 완전히 다른 this 이고 이에 대해 알아보도록 합니다. 1. 생성자 this() Car 클래스를 정의하고 인스턴스 변수 초기화를 위해 생성자 두 개를 오버로딩 하였습니다. class Car { String color; String gearType; int door; Car() { color = "white"; gearType = "auto"; door = 4; } Car(String c, String g, int d) { color = c; gearType = g; door = d; } } 첫 번째 생성자는 매개변수가 없을 때 기본값을 세팅해주고 두 번째 생성자는 매개변수로 인스턴스 변수 초기화를 합니다..
· 📗Java
메모리는 크게 코드, 데이터, 스택, 힙으로 구별된다. 어떠한 변수인지에 따라 메모리 내에서 저장되는 위치가 다른데 먼저 변수의 종류부터 알아보도록 하자 선언 위치에 따른 변수의 종류 변수의 종류 선언 위치 생성 시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 인스턴스가 생성되었을 때 지역 변수, 매개 변수 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 class Circle { static int pi = 3.14; // 클래스 변수 int radius; // 인스턴스 변수 void method1() { int localVariable; // 지역 변수 System.out.println("World!"); } void method2..
kkyu0718
'📗Java' 카테고리의 글 목록 (2 Page)