부모가 있을시에--------1\. 부모의 명백한 초기화와 초기화 블록 (선언, 정의된 순서대로 실행됨)2\. 부모의 생성자 몸체\----------------------------3\. 자식의 명백한 초기화와 초기화 블록 (선언, 정의된 순서대로 실행됨)4\. 자식의
특정 리모컨을 사용하여 특정객체를 조작하는 경우 해당 리모컨에 정의 또는 선언된 메소드만 사용할 수 있음(리모컨 타입에 의해 결정된다)즉 실제 호출되는 메소드는 리모컨이 가리키는 객체에 의해 결정됨(이게 다형성)Pet, dog, cat 에서 Pet이 가진 리모컨으론 P
예외 처리의 기본 개념 예외란? > 정상적인 경우에는 일어나지 않지만 발생할 수 있는 문제를 말함 개발 과정에서의 예외처리 > 예외 처리를 통해 프로그램 오류 발견 및 수정 개발 이후의 예외처리 > 예외가 발생하여도 프로그램이 계속 수행될 수 있도록 함 예외처리를
자바는 데이터 타입이 딱 2종류만 있다. 1. 값타입 - 원시타입 2. 참조 타입 - 그 외 나머지 자바는 무조건 값 전달 방식(call-by-value)으로 전달 원시타입에서는 (그래서 다른 함수에서 절대 다른 곳의 값을 바꿀 수 없음 한 함수의 스택에 있는건 다른
객체 상태를 전혀 사용하지 않는 등 객체 메소드로 부적절한 것은 아닌지혹 다른 클래스에 정의하는 것이 더 적절한 것은 아닌지외부와 상호 작용을 위해 필요한 것만 public메소드의 매개 변수 수가 너무 많으면메소드의 호출자가 지켜야 하는 요구사항주로 오동작 방지, 오류
객체지향 방식으로 하나의 프로그램을 개발할 때 보통 여러개의 클래스를 정의하게 되는데 이들 클래스와 객체는 상호 독립적으로 존재하지 않는다. 클래스 관계는 상속(inheritance, is-a)관계와 구체화(realization)관계 두 가지로 구분되며, 객체 간 관계
자바는 어떤 클래스를 정의할 때 그것의 부모 클래스를 나타내지 않으면 해당 클래스는 부모가 없는 클래스가 아니라 Object라는 시스템 라이브러리 java.lang 패키지에 포함되어 있는 클래스를 상속받게 된다. 따라서 자바에 존재하는 모든 클래스(시스템 라이브러리 정
is-a상속은 기존 클래스를 이용하여 그것을 특수화한 새 클래스를 쉽게정의할 수 있도록 해준다. 상속은 항상 논리적으로 is-a 관계가 성립하여야 한다. 즉, 자식은 부모의 특수화된 종류이어야 한다. 영어로 표현하면 “A shihtzu is a dog”이 성립해야한다.
메소드를 재정의하지 않는 이상 접근 권한이 있는 모든 메소드(생성자 제외)는 자동으로 상속됨 (+부모의 private 메소드 같은경우 상속 안, 상속된다해도 사용할 수 없기 때문에 안된다고 생각해도 무방함)부모 메소드의 의미와 재정의된 메소드의 의미가 확연하게 다르면
구체화하는 클래스가 반드시 제공해야하는 메소드의 목록을 말함(계약 기반 프로그래밍)서로 논리적으로 관계가 없지만 같은 이름의 메소드를 제공하는 클래스를 하나로 그룹핑하여 주는 역할을 함=> 코드 공유가 목적이 아님(subtyping)interface는 멤버 변수를 가
Ctrl + Shift + FWIN(Ctrl+I), MAC(Command+I)Alt + Shift + A블록 모드가 되면 마우스 커서가 십자 모양이 된다. 이때 편집할 부분 골라서 하면 됨
자바에서의 원시타입은 값 타입으로만 접근할 수 있다.(참조나 주소로는 절대 못 접근함) 정수타입 4가지 > byte, short, int, long 기본 타입 = int 부호가 있는 정수타입만 있음 -128부터 127이니깐 혹시 128안 쓰게 조심 자동으로 int로
선택 연산자(?)에서 true, false 일때의 두개의 자료형이 같아야한다.다중선택일때 if, elseif, else형일때 중간에 탈출할 수 있어서 if 3개 쓰는 것보다 괜찮다Objects 클래스에 있는 equals를 재정의해서 사용같은지 다른지 비교하는게 아니라,
매개 변수로 다양한 타입을 받을 수 있는 함수예) void foo(Pet p); void bar(Flyable f); 이런 것도 범용 함수이지만 여기서는 template기능을 사용해서 범용함수를 만들어볼 예정임 함수는 어떤 기능을 수행하는 것이 목적: 해당 기능을 할
람다 표현식 - 이름이 없는 함수를 간결하게 정의하는 방법 함수를 인자로 줄때 위 박스 - 절차적인 방법, 아래박스 선언적인 방법 함수형 프로그래밍 기존의 프로그래밍은 절차적임, 차이를 생각하기 람다 표현식 람다 표현식은 퓨어 함수이어야 한다 함수의 매개변수