
1. 인터페이스(Interface)란?💡 추상 메소드(public abstract)와 상수 필드(public static final)만 가질 수 있는 클래스의 변형체.implements라는 키워드를 사용하며 자식 클래스 입장에서 '상속 받았다'고 말하지 않고 '구현한다'라는 표현을 쓴다.매개체 역할인터페이스의 표현식interface TestInter { // 모든 필드는 public static final만 가능하다. public static final PI1 = 3.1415; // public : 어디서든 접근 가능하며 // static : 프로그램 전반에 걸쳐 시작부터 끝까지 사용 가능 // final : 값은 변하지 않는다. // public static final을 생략해도 자동으..
한화시스템 BEYOND SW 캠프 9기 21일차2024.07.17_수 JAVA에서 클래스와 객체가 많은 사람들의 첫 번째 난관이라고 한다...맞다..사람들의 말이 맞았다..ㅋㅋㅋㅋ클래스와 객체에서 이해가 안되는 어느순간그 순간 이후로 계속 이해가 안되는 기이한 일이 발생한다...ㅋㅋㅋㅋ확실히 주말에 전체적으로 복습해주고 책도 보고 이것저것 찾아보며 공부를 해야겠다. 그래도 집에 가면서 같은 반 어느 분과 이야기를 하였는데그 분도 비전공자셨고, 나의 마음을 잘 이해해주고 계신 분이였다.그 분이 해주신 말씀은 너무 조급해하지 말고 흐름이 중요한 것 같고강의를 다시 들으면서 흐름 잡고 한번씩 들어보는게 중요하다고 하셨다.어떤 뜻인지 알 거 같다. 그래도 위안이 되었다. 제일 중요한 것은 포기하지말고 꾸준히라..

1. 추상 클래스(Abstract Class)란?💡 추상 메소드: 메소드의 기능이 없고 메소드의 헤더부만 존재하는 불완전한 메소드💡 추상 메소드를 0개 이상 포함하는 클래스로 스스로 자신의 생성자를 활용한 인스턴스 생성이 불가능.따라서 추상 클래스는 불완전한 클래스라고 볼 수 있다.상속을 활용해 하위 클래스 타입의 인스턴스를 이용해서 인스턴스를 생성해야 한다.추상 메소드를 하나라도 포함하면 불완전하다고 볼 수 있는 클래스이므로 반드시 추상 클래스가 되어야 한다.2. 추상 클래스를 사용하는 이유💡 스스로 인스터는 만들지 못하지만 다형성 적용을 위한 부모 타입 역할을 해낼 수 있다.추상 메소드를 포함한 추상 클래스는 추상 메소드를 통해 자식 클래스에 오버라이딩에 대한 강제성을 부여할 수 있다.(추상 클..

1. 다형성의 정의 및 사용 이유1-1. 다형성(Polymorphism)이란?→ 타입 은닉💡 하나의 인스턴스가 여러 가지 타입을 가질 수 있는 것을 의미한다.하나의 타입으로 여러 타입의 인스턴스를 처리할 수 있기도 하고, 하나의 메소드 호출로 객체별로 각기 다른 방법으로 동작하게 할 수도 있다.1-2. 다형성의 장점유지보수성과 생산성 증가(여러 타입의 객체를 하나의 타입으로 관리)상속관계에 있는 모든 객체는 동일한 메세지를 수신. 동잃한 메세지를 수신받아 처리하는 내용을 객체별로 다르게 할 수 있다확장성이 좋은 코드 작성결합도 낮춰서 유지보수성 증가1-3. 동적 바인딩💡 컴파일 당시에는 해당 타입의 메소드와 연결되어 있다가 런타임 시 실제 해당 인스턴스가 메소드(오버라이딩 한 메소드)로 바인딩이 바뀌..

1. 오버라이딩(Overriding)💡 부모클래스에서 상속받은 메소드를 자식 클래스가 재정의하여 사용하기 위한 기술1-1. 오버라이딩 성립 조건메소드명 동일메소드 리턴타입 동일매개변수의 타입, 개수, 순서가 동일부모 클래스의 private 메소드는 오버라이딩 불가능부모 클래스의 final 키워드가 사요된 메소드는 오버라이딩 불가능접근 제어자는 부모 메소드와 같거나 더 넓은 범위여야 함예외처리는 같은 예외이거나 더 구체적(하위)인 예외를 처리해야 함package com.ohgiraffers.section03.overriding;/* 설명. class가 final 키워드가 붙으면 부모 클래스가 될 수 없다. *///public final class SuperClass {public class SuperCl..

1. 상속의 키워드1-1. IS-A💡 "자식 클래스는 (하나의)부모 클래스이다." 라는 말을 만족(성립)하는 관계를 뜻한다.클래스 간 상속 관계를 파악하기 위한 키워드ex) Circle is a Shape 원은 하나의 모양이다.- Product is a Computer (X)- Computer is a Product (O) → 자식 : Computer / 부모 : Product 1-2. super와 super()💡 인스턴스 생성 시 부모 생성자를 호출하여 부모 클래스의 인스턴스도 함께 생성하게 된다.이 때 생성한 부모 인스턴스의 주소를 보관하는 레퍼런스 변수로 자식 클래스 내의 모든 생성자와 메소드 내에서 묵시적으로 사용할 수 있는 레퍼런스 변수이다.💡 super()는 부모 생성자를 호출..

1. 상속의 정의 및 사용 이유1-1. 상속(Inheritance)이란?💡 부모 클래스가 가지는 멤버(필드, 메소드)를 자식 클래스가 물려 받아 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술.(단, 생성자는 물려 받지 않음)멤버 외에도 부모 클래스의 타입 또한 상속이 된다.(다형성의 토대)자바는 단일상속(자식 클래스는 하나의 부모 클래스만 가지는)만 지원.package com.ohgiraffers.section01.extend;public class Application { public static void main(String[] args) { /* 수업목표. 상속에 대해 이해할 수 있다. */ // 다형성을 적용하기 위한 문법적 토대가 상속이다! Car..

한화시스템 BEYOND SW 캠프 9기 20일차2024.07.16_화 집에 와서 운동하고 바로 회고 써본다!!! 맨날 늦게 써서 잘 못쓴 것 같아서이번에는 조금 일찍 쓰면서 복습도 조금씩 해보자!! 어제까지 수업은 익숙하지 않아서 약간은 힘든 느낌이었는데오늘은 그냥 많이 어렵고 헷갈렸다. 아직도 헷갈린다 ㅋㅋㅋㅋ객체들이 홍길동마냥 동에 번쩍 서에 번쩍한다...객체들 헷갈리고...클래스, 메소드 등등 만드는 법(?)도 모르겠고...사용자 정의 자료형일 땐 어쩌구 저쩌구!!기초가 많이 부족한 것 같다!!이럴 땐 어떻게 해야할지 모르겠네 ㅠㅠㅠ내일 시간되면 선생님께 상담을 좀 받아야쓰겄다 ㅋㅋㅋㅋ 오늘 팀원들이랑 이야기한 것 중에 하나가초기화 블럭(init block)인데 초기화 블럭 두 부분이 있고 필드 ..