전체 글 100

[ 객체지향 ] 다형성

자바 객체지향 프로그래밍에서 다형성이 가지는 의미와 장점을 이해할 수 있다. 다형성: 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 허용하는 것 다형성 예시: 메서드 오버라이딩, 오버로딩 참조변수의 타입 변환에 대한 내용을 이해하고, 업캐스팅과 다운캐스팅의 차이를 설명할 수 있다. 사용할 수 있는 멤버의 개수를 조절하는 것 세가지 조건 서로 상속관계에 있는 상위 클래스 - 하위 클래스 사이에만 타입변환 가능 하위 클래스 타입에서 상위 클래스 타입으로 타입 변환(업캐스팅)은 형변환 연산자를 생략할 수 있음 반대로 다운캐스팅은 형변환연산자가 필수 instanceof 연산자를 언제 어떻게 활용할 수 있는 지 이해하고 설명할 수 있다. 캐스팅이 가능한 지 여부를 boolean타입으로 확인할 수 있는..

[ 객체지향 ] 캡슐화

캡슐화의 핵심 개념과 목적을 이해하고 설명할 수 있다. 캡슐화: 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것 목적: 1. 데이터 보호(외부로부터 객체의 속성과 기능이 함부로 변경되지 못하게 함) 2. 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출 방지 패키지의 개념과 import문이 어떻게 사용되는 지 이해할 수 있다. 패키지: 특정한 목적을 공유하는 클래스와 인터페이스의 묶음 클래스들을 그룹 단위로 묶어 효과적으로 관리하기 위함 클래스의 충돌을 방지해줌 Import문 : 다른 패키지 내의 클래스를 사용하기 위해 사용 자바에서 캡슐화를 달성하기 위한 핵심적인 수단으로 접근제어자 네 가지를 이해하고, 각각의 접근 가능 범위를 설명할 수 있다. 제어자:..

[객체지향] 상속

상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다. 상속: 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소 두 클래스를 상위클래스와 하위클래스로 나누어 상위클래스의 멤버(필드, 메서드, 이너클래스)를 하위 클래스와 공유 => 코드 재사용률 높아짐 extends 키워드를 사용하여 두 개 이상의 클래스 간 상속 관계를 정의할 수 있다. 자바의 객체지향 프로그래밍에서는 단일 상속만을 허용함 인터페이스 구현을 통해서 다중 상속 효과를 낼 수 있음 포함관계와 상속관계의 차이를 설명할 수 있다. 포함: 상속처럼 클래스를 재사용할 수 있는 방법이지만 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것 Employee는 Address를 가지고 있다 상속 관..

[객체지향] 내부클래스

📚학습목표 내부 클래스의 기본 개념과 장점에 대해 이해할 수 있다. 선언 위치에 따른 내부 클래스의 종류와 특징에 대해 이해하고 설명할 수 있다. 내부 클래스의 종류에 따른 유효 범위와 접근성을 이해할 수 있다. 1. 내부 클래스의 기본 개념 클래스 내에 선언된 클래스, 외부클래스와 관련 있는 클래스 2. 내부클래스의 장점 외부 클래스의 멤버들에 쉽게 접근 가능하고, 코드의 복잡성을 줄일 수 있음 캡슐화 3. 선언 위치에 따른 내부 클래스의 종류와 특징 종류 선언 위치 사용 가능한 변수 인스턴스 내부 클래스(instance inner class) 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) 외부 인스턴스 변수, 외부 전역 변수 정적 내부 클래스(static inner class) 외부 클래..

[ 객체지향 ] 생성자

생성자의 핵심 개념과 기본 문법을 이해하고 사용할 수 있다. 객체를 초기화하는 함수 생성자가 메서드와 구분되는 두 가지 차이를 이해하고 설명할 수 있다. 생성자는 클래스와 이름이 같아야 함 생성자는 리턴 타입이 없음 메서드 오버로딩이 생성자에서 어떻게 구현될 수 있는 지 확인하고 이해할 수 있다. 기본 생성자와 매개변수가 있는 생성자 기본 생성자와 매개변수가 있는 생성자의 차이를 설명할 수 있다. 매개변수가 있는 생성자를 사용하면 인스턴스마다 각기 다른 값을 가지고 초기화할 수 있음 this 와 this() 의 차이에 대해 설명할 수 있다. 해당 인스턴스를 가리킴 자신이 속한 클래스에서 다른 생성자를 호출하는 경우

[ 객체지향 ] 필드와 메서드

객체의 속성을 정의하는 필드를 이해하고, 세 가지 종류의 변수를 구분할 수 있다. 각각의 변수가 저장되는 위치를 설명하고, 그 차이를 설명할 수 있다. 클래스 변수: 클래스 영역 인스턴스 변수: 힙 영역 지역 변수: 스택 영역 클래스 영역에 있는 변수는 객체들이 공유 힙 영역에 있는 변수들은 초기화가 강제 됨, 객체가 사라지기 전까지 변수들도 사라지지 않음 스택 영역에 있는 변수들은 초기화되지 않으면 오류가 뜸, 메서드 호출이 끝나면 사라짐 static 키워드가 무엇이며, 언제 사용되는 지 설명할 수 있다. 객체의 기능을 정의하는 메서드를 이해하고, 메서드의 구성요소와 호출에 대해 설명할 수 있다. 메서드: 명령어의 집합 메서드 오버로딩을 이해하고 그 장점을 설명할 수 있다. 메서드 오버로딩은 메서드 명..

띵-동 프로젝트 회고

- 개발 기간 2021.07 - 2021.11 - 맡은 역할 프론트, 안드로이드 스튜디오로 앱 개발 - 2021 공개 SW 개발자 대회에서 동상 수상 이 프로젝트는 기술적인 부분보다 개인적인 얘기를 할 게 많을 것 같습니다. 제가 개발자가 되고자 다짐하고 처음으로 한 제대로 된 프로젝트 이거든요. 공모전 팀원을 구한다는 글에 무작정 지원했고 운좋게 합류하게 됐습니다. 오랜만에 생긴 목표에 즐겁기도 했지만 학교에서 프로그래밍 언어를 배운 게 전부였던 저한테는 힘들기도 했던 시간이였습니다. 팀원들에게 큰 도움이 못 된다는 죄책감과 잘해야겠다는 부담감이 컸던 것 같아요. 여러 감정들을 갖고 오랜만에 잠을 줄여가면서 열심히 공부했었습니다. 개발 막바지 두 달동안 네시간 이하로 잤던 것 같아요. 이라는 책을 구매..

카테고리 없음 2023.02.15

[ 객체지향 ] 클래스와 객체

객체지향 프로그래밍의 가장 기본적인 토대인 객체를 이해할 수 있다. 클래스를 토대로 만들어 지고, 속성과 기능을 가진 실체 객체를 만드는 데 필요한 클래스의 개념을 이해하고, 그 구성요소와 기본 문법을 설명할 수 있다. 클래스: 객체를 생성하는 데 사용되는 틀, 코드의 재사용성을 높임 객체의 두 가지 구성 요소, 속성과 기능이 무엇인지 이해할 수 있다. 속성: 객체가 갖고 있는 데이터 값, 필드 기능: 객체가 데이터를 다룰 수 있는 방법, 메서드 클래스에 기반하여 new 키워드를 통해 객체를 생성하고, 이를 활용할 수 있다. 클래스명 참조변수 = new 클래스명(); 클래스 영역, 스택 영역, 힙 영역에 따로 저장됨 스택영역에 저장된 참조변수는 힙 영역의 주소값을 가르키고 있음 메서드는 클래스 영역에 저..

4주차 멘토링 프로젝트 회고

개요 및 목적 프로젝트 종료 후 얻은 성과, 아쉬운 점 등을 서로 이야기하며 추후 개선해야할 점을 알아간다. 프로젝트의 성과 중 취업 자소서나 면접에서는 어떤걸 강조하면 좋을지 의견 나누고 피드백 얻는다. 아래 질문들은 프로젝트 회고 80% + 모의면접 20% 정도로 생각하고 진행한다. 질문 이번 프로젝트에서 자신은 구체적으로 어떤 파트를 맡아 개발, 구현했는지 ? 해당 파트에서 가장 챌린지 했던 기술 문제는 어떤 것이었는지 ? 24시간 단위로 변경해야 하는 데이터가 있었는데 공연 예약을 조회 할 때마다 해당 엔티티에 대한 DB가 업데이트 됐었다. 공연 판매 생성, 수정, 삭제, 공연 예약 생성, 수정, 삭제 등 공연에 대한 전반적인 걸 맡았다. 해당 기술문제 원인은 어떤 거 였는지? 혹은 원인 파악과정..