본문 바로가기

분류 전체보기104

1.1 코딩 테스트란? * 코딩 테스트란? 주어진 문제를 컴퓨터가 이해할 수 있는 언어(코드)로 작성하여 해결하는 것을 의미 문제의 요구사항을 파악(분석)하고 풀어나갈 방식을 계획(설계)하는 능력이 요구됨 * 코딩 테스트를 보는 이유 1. 문제 해결 과정을 보는 것 2. 사고력 증진 3. 똑같은 결과를 빠르고 효율적으로 푸는 것 -> 여러가지 변인이 통제된 동일한 환경과 상황에서 문제를 얼마나 잘 파악하고 효율적으로 해결하는지를 보는 것 * 코딩 테스트 연습시 고려사항 1. how도 중요하지만 why에도 집중할 것 -> 이 알고리즘을 왜(why) 사용했는지 생각한 후 어떻게(how) 활용했는지 끊임없이 생각하고 고민하기 2. 문제를 읽고 스스로 풀어보는 시간을 가질 것 -> TO가 발생하거나 해결방법이 당장 생각나지 않아도 알.. 2023. 7. 20.
OOP.2.상속과 다형성 이번 글에서 알아볼 객체지향의 특징은 상속과 다형성 입니다. 먼저 추상화와 캡슐화를 통해 정의한 객체(클래스)들은 다양한 관계를 갖게 되는데요. 그 중 상위와 하위 구조를 가지게 되는 하이어라키 구조에 속한 관계들이 있습니다. 상속은 대표적인 하이어라키 구조입니다. 여러 클래스들의 공통적이고 일반적인 특성을 추출해 좀 더 추상화 레벨이 높아 일반적인 상위 클래스로 정의 할 수 있습니다. 그 후 하위 클래스 정의시 중복되는 부분은 재정의 없이 상위 클래스의 필드와 메소드를 '상속'받아 사용할 수 있습니다. JAVA에서는 Extends라는 키워드로 상속을 지원하고 단일 상속만을 지원합니다. java는 상속을 편하게 지원해주는 super와 this라는 키워드를 제공함으로써 부모 클래스로 부터 물려받은 다양한 .. 2023. 7. 14.
OOP.2.추상화와 캡슐화 - 2 이번 주제는 캡슐화 입니다. 저번 글에서 캡슐화 부분을 간단히 언급하고 넘어갔기 때문에 자세히 살펴보려 합니다. 먼저 캡슐화의 기본 개념은 객체를 추상화해 나온 정적 특성과 동적 특성을 한데 묶어 관리하는 것 입니다. 캡슐화로 얻어지는 효과는 두 가지가 있습니다. 데이터 보호와 절차 은닉입니다 데이터 보호는 정적 모델링을 통해 추출된 Field 데이터 접근 권한을 클래스 내부로 제한함으로써, 외부에서 데이터 조작이 불가능 하도록 보호합니다. 데이터 조작은 오직 공개된 Method를 통해서만 가능합니다. 또 클래스 외부에서 Method를 단순 호출하여 사용하므로 내부에서 어떤 절차로 메소드가 작동하는지 절차적 은닉이 가능해집니다. 이것을 절차 은닉이라고 부릅니다. Java에서는 Access Modifier.. 2023. 7. 6.
OOP.2.추상화와 캡슐화 - 1 이번 글에서는 객체지향의 4가지 특징중 두개인 추상화와 캡슐화에 대해서 다루어 보겠습니다. 객체, 클래스, 인스턴스는 엄밀하게 서로 미묘한 차이를 가지지만, 일반적으로 대화하거나 소통시에는 비슷한 의미로 많이 통용되는 경우가 많습니다. 하지만 본 글에서는 추상화의 원활한 설명을 위해서 차근차근 용어부터 정리하면서 시작하도록 하겠습니다. 1) Object 객체 드디어 객체 지향 프로그래밍 이라는 큰 제목을 일부 설명할 수 있는 '객체(Object)'에 대한 이야기가 나왔습니다. 객체는 실제 세상에 존재하는 사물이나 개념을 의미해요. 수많은 사물이나 개념들 중 내가 시스템으로 옮길 대상을 의미합니다. 피트니스 짐, 헬스장을 시스템으로 옮긴다고 생각해볼까요? 트레이너도 객체가 될 수 있고, 회원도 객체가 될 .. 2023. 7. 5.