분류 전체보기 (33) 썸네일형 리스트형 [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {18} 회차 미션 1. toString() 매서드 [ toString 메소드 ] 기본 상속된 Object 클래스의 메소드 객체가 가진 정보를 문자열로 만들어 출력 인스턴스 출력 시 Object.hashCode()로 생성된 해시값을 문자열로 반환시켜줌 인스턴스의 값을 출력할 때 그냥 인스턴스를 넣거나 기본 toString()메소드를 사용하면 해시값을 포함한 이상한 값이 출력됩니다. 만들어 둔 인스턴스의 정보를 편하게 출력하기 위해 toString()메소드를 오버라이딩 해두면 편리합니다. 먼저 기본 Object.toString()를 사용해서 인스턴스 하나를 출력해본 결과입니다. 그냥 인스턴스만 넣어도 동일하게 작동합니다. package study.first; public class Main { public static vo.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {17} 회차 미션 1. Object 클래스 Object 클래스 정리 1. Java.lang 패키지 java.lang은 자바 프로그램에서 가장 많이 사용되는 패키지로서 자바 프로그램내에 'import' 문을 사용하지 않아도 자동으로 포함된다. 그만큼 자바 프로그램의 기본이 되는 클래스들과 인터페이스들이 포함되어 있다. 다음은 java.lang 패키지의 클래스 구조도이다. 물론 java.lang 패키지에는 더 많은 클래스들이 있다. 더 많은 클래스는 여기서 확인하자. JAVA API DOC : Java.lang Object 클래스는 java.lang 패키지 내의 최상위 클래스이며, String 클래스는 변하지 않는 문자열을 다룰 때, StringBuffer 클래스는 내용이 계속 변하는 문자열을 다룰 때 사용될 수 있다. 2... [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {16} 회차 미션 1. 인터페이스의 요소 Default Method 인터페이스는 기능에 대한 선언만 가능하기 때문에, 실제 코드를 구현한 로직은 포함될 수 없습니다. 하지만 자바8에서 이러한 룰을 깨트리는 기능이 나오게 되었는 데, 그것이 Default Method(디펄트 메소드)입니다. 메소드 선언시에 default를 명시하게 되면 인터페이스 내부에서도 코드가 포함된 메소드를 선언 할 수 있습니다. (접근제어자에서 사용하는 default와 같은 키워드 이지만, 접근제어자는 아무것도 명시 하지 않은 접근 제어자를 default라고 하며 인터페이스의 default method는 'default'라는 키워드를 명시해야 합니다.) interface MyInterface { default void printHello() { Sy.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {15} 회차 미션 1. 인터페이스 인터페이스란? 인터페이스의 사전적 의미는 다음과 같다. 하나의 시스템을 구성하는 2개의 구성 요소(하드웨어, 소프트웨어) 또는 2개의 시스템이 상호작용할 수 있도록 접속되는 경계(boundary), 이 경계에서 상호 접속하기 위한 하드웨어, 소프트웨어, 조건, 규약 등을 포괄적으로 가리키는 말 자바에서 인터페이스는 여러가지 역할로 사용한다. 개발자 사이의 코드 규약을 정한다. 여러 구현체에서 공통적인 부분을 추상화한다.(다형성) 먼저 자바에서 인터페이스의 기본 개념을 알아보자. 자바 인터페이스는 기본적으로 추상메서드의 모음이다. 추상메서드는 아래와 같이 구현부가 없는 메서드를 말한다. public interface Walkable { void walk(); } 구현부가 없으므로 인터페이스.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {14} 회차 미션 1. 추상 클래스 응용 - 템플릿 메서드 템플릿 메소드 패턴 (template method pattern) 메소드에서 알고리즘의 골격을 정의한다. 알고리즘의 여러 단계 중 일부는 서브클래스에서 구현할 수 있다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 서브클래스에서 특정 단계를 재정의 할 수 있다. 알고리즘의 틀을 만들기 위한 패턴이다. 이 패턴에서 틀(템플릿)이란 일련의 단계들로 알고리즘을 정의한 메소드다. 여러 던계 가운데 하나 이상이 추상 메소드로 정의되며, 그 추상 메소드는 서브클래스에서 구현된다. 이렇게 하면 서브클래스에서 일부분의 단계를 구현할 수 있도록 하면서도 알고리즘의 구조는 바꾸지 않아도 되도록 할 수 있다. 출처: https://jusungpark.tistory.c.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {14} 회차 미션 1. 다운 캐스팅과 instanceof instanceof란? - 객체 타입을 확인하는데 사용한다. 속성은 이항연산자이고 형변환 가능여부를 가능하면 true 불가능하면 false로 리턴해준다. 주로 상속 관계에서 부모객체인지 자식객체인지 확인하는데 사용한다. ※ 주의할점 ( 뒤에 나오는 예제를 통해 확인 할 수 있다. ) // 주의할점은 조건문의 순서는 가장 최하위 클래스 부터 작성해야한다. // 그이유는 최상위 클래스를 맨위에 적어버린다면 첫번째 조건문에서 true를 만족하기때문에 첫번째 조건만을 수행한다. /** * instanceof : 객체 타입을 확인하는데 사용한다. 속성은 이항연산자이고 형변환 가능여부를 가능하면 true 불가능하면 false로 리턴해준다. * 주로 상속 관계에서 부모객체인지 .. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {13} 회차 미션 1. 다형성(ploymorphism) 다형성은 자바에서 매우 중요한 개념이다. 하지만 다형성 자체가 어렵다거나 새로운 기법에 대한 내용은 아니다. 이전에 알아본 (추상) 클래스 상속, 인터페이스 구현, 레퍼런스 형변환(업캐스팅), 오버라이딩 등 많은 내용들을 이용하여 프로그램을 효율적으로 만들 수 있는 방법이다. 따라서 앞에서 알아본 내용들에 대한 개념의 충분한 이해가 있다면 쉽게 이해가 가능하다. 이전 내용들을 잘 모르겠다면 위의 링크된 페이지에서 확인 후 밑의 내용을 보는 것이 좋다. 다형성(Polymorphism) 다형성이란 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질을 의미한다. 다형성의 효과 하나의 타입으로 다양한 실행 결과를 얻을 수 있으며 객체를 부품화하여 유지 보수.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {12} 회차 미션 1. 하위 클래스가 생성되는 과정 캐스팅이란 무엇일까? 캐스팅(casting)이란 타입을 변환하는 것을 말하며 형변환이라고도 한다. 자바의 상속 관계에 있는 부모와 자식 클래스 간에는 서로 간의 형변환이 가능하다. 이번 글에서는 자식 클래스가 부모 클래스의 타입으로 캐스팅되는 업캐스팅과 반대로 부모 클래스가 자식 클래스의 타입으로 캐스팅되는 다운캐스팅에 대해서 알아본다. 시작하기에 앞서 부모 클래스인 상속 관계의 상위 클래스를 수퍼 클래스, 그리고 자식 클래스인 하위 클래스를 서브 클래스라고 정의한다. 업캐스팅 자바에서 서브 클래스는 수퍼 클래스의 모든 특성을 상속받는다. 그렇기 때문에 서브 클래스는 수퍼 클래스로 취급될 수 있다. 여기서 업캐스팅(Upcasting)이란 서브 클래스의 객체가 수퍼 클래스.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {11} 회차 미션 1. 다차원 배열 다중배열 다중배열도 어렵지 않습니다. 다중배열은 두 줄 이상 줄서기를 하는 놈입니다. 이런 식으로 A배열에 두개 이상의 줄이 서있다면 다중배열이라합니다. 위 그림을 코드로 나타내면 이렇게됩니다. 1 int A[][] = new int [2][10]; cs 그렇습니다. 앞에 있는 대괄호 안에 숫자 2는 줄의 갯수를 의미합니다. 그리고 뒤에 있는 대괄호의 숫자는 줄의 크기를 의미하죠. 그러니까 두줄로 줄을 서는데 한줄에 최대 10개씩 설 수 있다 라는 의미입니다. 그러면 int A[][][] = new int [2][2][2] 는 어떻게 구성이 될지 감이 오실까요? 안오시겠지만 한번 생각해보세요. 별거없습니다. 생각해보시고 모르시겠다면 댓글 남겨주세요 ^^ 3차원이상의 다중배열은 다루지않겠.. [패스트캠퍼스 수강 후기] {자바 인강} 100% 환급 챌린지 {10} 회차 미션 1. 배열 array(배열)과 arrayList(리스트)의 차이 arrayList는 사이즈가 동적으로 알아서 늘어나주니 찾아볼 생각을 못하다가 어떻게 내부적으로 size가 늘어나는지 코드를 분석해봤다. 일단 기본적인 차이부터 살펴보자 1. Implementation of array is simple fixed sized array but Implementation of ArrayList is dynamic sized array. 배열은 크기가 고정되어있지만 arrayList는 사이즈가 동적인 배열이다. 2. Array can contain both primitives and objects but ArrayList can contain only object elements 배열은 primitive type.. 이전 1 2 3 4 다음