티스토리

robinjoon의 개발이야기
검색하기

블로그 홈

robinjoon의 개발이야기

robinjoon98.tistory.com/m

흔한 휴학생이 개발 공부한거 정리하는 블로그.

구독자
2
방명록 방문하기
공지 블로그 주소 변경 모두보기

주요 글 목록

  • 람다식과 표준 함수형 인터페이스 (1) 람다식이란? 람다식은 자바8에서 함수형 프로그래밍을 도입하면서 지원되기 시작한 문법이다. 기본적으로 람다식은 익명 구현객체를 만드는 새로운 방식이다. 기존의 방식대로 Runnable 인터페이스의 익명 구현 객체를 생성하는 코드는 다음과 같다. Runnable runnable = new Runnable(){ public void run(){ ... } } 람다식을 이용하면 아래처럼 더 짧고 간결하게 나타낼 수 있다. Runnable runnable = () -> { ... } 람다식은 런타임 시에 어떤 인터페이스를 구현하는 것인지 결정된다. 즉, 람다식이 대입되는 타입이 무었인지에 따라 구현되는 인터페이스가 결정된다. 위 코드는 Runnable 에 대입되므로 람다식은 런타임에 Runnable의 익명 구현 .. 공감수 0 댓글수 0 2022. 3. 7.
  • [Java 기본 문법] 7. 상속과 다형성 2021.08.16 - [Java] - [Java 기본 문법] 6. 접근제한자와 캡슐화 [Java 기본 문법] 6. 접근제한자와 캡슐화 2021.08.14 - [Java] - [Java 기본 문법] 5. 객체와 클래스 [Java 기본 문법] 5. 객체와 클래스 2021.08.14 - [Java] - [자바 기본 문법] 4. 참조타입 [자바 기본 문법] 4. 참조타입 2021.08.13 - [Java] - [Java.. blog.robinjoon.space 상속은 자바에서 객체지향의 핵심중 하나인 다형성을 구현하는 매커니즘이다. 그만큼 아주 중요한 내용이기 때문에 반드시 숙지해야한다. 상속 현실에서 상속은 부모가 자식에게 물려주는 것을 의미한다. 자식은 상속받은것을 원래부터 자기것인냥 자연스럽게 사용할 수.. 공감수 0 댓글수 0 2021. 8. 17.
  • [Java 기본 문법] 6. 접근제한자와 캡슐화 2021.08.14 - [Java] - [Java 기본 문법] 5. 객체와 클래스 [Java 기본 문법] 5. 객체와 클래스 2021.08.14 - [Java] - [자바 기본 문법] 4. 참조타입 [자바 기본 문법] 4. 참조타입 2021.08.13 - [Java] - [Java 기본 문법] 1. 변수와 타입 2021.08.13 - [Java] - [Java 기본문법] 2. 연산자 2021.08.13 - [Ja.. blog.robinjoon.space 이전 포스팅에서 접근제한자 라는걸 언급했다. 이번 포스팅에선 접근제한자가 무었이고 왜 사용하는지 이것을 통해 캡슐화를 어떻게 하는지 알아보자. 접근제한자 접근제한자란, 클래스, 필드, 매서드에 어떤 객체가 접근이 가능한지 설정하는 키워드다. 접근제한자는 .. 공감수 0 댓글수 0 2021. 8. 16.
  • [Java 기본 문법] 5. 객체와 클래스 2021.08.14 - [Java] - [자바 기본 문법] 4. 참조타입 [자바 기본 문법] 4. 참조타입 2021.08.13 - [Java] - [Java 기본 문법] 1. 변수와 타입 2021.08.13 - [Java] - [Java 기본문법] 2. 연산자 2021.08.13 - [Java] - [Java 기본 문법] 3. 제어문 1번 포스팅에서 자바의 타입에는 기본타입과 참조.. blog.robinjoon.space 본격적으로 객체지향 프로그래밍에 대해 알아보고, 자바에서 이를 구현한 문법과 구조를 알아볼 것이다. 객체지향 프로그래밍(OOP)이란? 객체지향 프로그램이란, 프로그램을 구성하는 부품인 객체를 먼저 만들고, 이를 조합해 원하는 동작을 하는 프로그램을 작성하는 프로그래밍 기법이다. 여기서 .. 공감수 0 댓글수 0 2021. 8. 14.
  • [Java 기본 문법] 4. 참조타입 2021.08.13 - [Java] - [Java 기본 문법] 1. 변수와 타입 2021.08.13 - [Java] - [Java 기본문법] 2. 연산자 2021.08.13 - [Java] - [Java 기본 문법] 3. 제어문 1번 포스팅에서 자바의 타입에는 기본타입과 참조타입이 있다고 했다. 이제 참조타입을 설명할 때다. 참조타입이란? 기본타입의 변수는 그 공간에 기본타입의 값을 직접 저장한다. 그러나, 참조타입의 변수는 값이 저장된 공간의 주소를 값으로 가지고있다. 그리고 그 공간에는 객체가 저장되어있다. C언어의 포인터와 비슷한 개념이다. 다만, 포인터와 다르게 프로그래머입장에서 값을 읽거나 쓸 때 변수가 참조타입인지 기본타입인지에 따라 방식이 같다. 구체적으로, 변수는 스택영역에 할당된다. 기본.. 공감수 0 댓글수 0 2021. 8. 14.
  • [Java 기본 문법] 3. 제어문 2021.08.13 - [Java] - [Java 기본문법] 2. 연산자 [Java 기본문법] 2. 연산자 2021.08.13 - [Java] - [Java 기본 문법] 1. 변수와 타입 [Java 기본 문법] 1. 변수와 타입 변수 변수 : 프로그램이 작업을 처리하는 과정에서 필요에따라 데이터를 메모리에 저장하는데, 이 때 값을 저장할 blog.robinjoon.space 특정 조건을 만족할 때, 프로그램의 실행 흐름을 바꿀 수 있게하는게 제어문이다. 제어문은 조건식과 제어문 블록으로 이루어진다. 조건식을 만족할 때만 제어문 블록 내부의 코드를 실행하고, 만족하지 않으면 블록을 무시한다. 제어문은 조건문과 반복문으로 나뉜다. 조건문은 제어문 블록을 실행하고, 블록 밖을 다시 순서대로 실행하지만, 반복문.. 공감수 0 댓글수 0 2021. 8. 13.
  • [Java 기본문법] 2. 연산자 2021.08.13 - [Java] - [Java 기본 문법] 1. 변수와 타입 [Java 기본 문법] 1. 변수와 타입 변수 변수 : 프로그램이 작업을 처리하는 과정에서 필요에따라 데이터를 메모리에 저장하는데, 이 때 값을 저장할 수 있는 메모리 공간을 의미한다. 타입 : 변수에 어떤 종류의 데이터를 저장할 blog.robinjoon.space 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라 한다. 연산에서 사용하는 기호를 연산자 라고 하고, 연산이 되는 데이터를 피연산자 라고 한다. 연산자와 피연산자를 이용해 연산을 표현한 것을 연산식이라 한다. 피연산자는 연산식이 될 수도 있다. 자바의 연산자는 C언어의 연산자와 거의 같다. 다만, C언어에서는 boolean 이라는 논리타입이 없기 때문.. 공감수 0 댓글수 0 2021. 8. 13.
  • [Java 기본 문법] 1. 변수와 타입 변수 변수 : 프로그램이 작업을 처리하는 과정에서 필요에따라 데이터를 메모리에 저장하는데, 이 때 값을 저장할 수 있는 메모리 공간을 의미한다. 타입 : 변수에 어떤 종류의 데이터를 저장할것인지 결정하는 것. 자바에서는 변수를 만들 때(선언할 때) 타입이 정해지고, 변수의 타입은 변경되지 않는다(변경할 수 없다). 변수의 타입은 한번 정해지면 변경할 수 없기 때문에 신중하게 지정해야 한다. 변수선언은 다음과같이 한다. int x, y; double z; 여기서 "int"와 "double"은 각각 정수와 실수타입이다. "x", "y", "z" 는 변수의 이름이다. 이 이름을 통해 변수에 저장된 값을 읽거나, 변수에 어떤 값을 저장할 수 있다. 같은 타입의 변수를 여러개 선언한다면, 위 코드의 첫번째 줄 처.. 공감수 0 댓글수 0 2021. 8. 13.
  • 제네릭(Generic) 이 포스팅은 신용권님의 이것이 자바다 13장으로 공부한 내용을 정리한 것입니다. 제네릭이란, 클래스와 인터페이스, 메소드를 정의할 때 타입을 파라미터로 사용할 수 있도록 하는 기술이다. 타입 파라미터는 코드 작성 시 구체적인 타입으로 대체되어 다양한 코드를 생성하도록 해준다. 이런 방식은 여러 장점을 가진다. 제네릭을 사용하지 않는다면 여러 타입을 값으로 받기 위해 변수를 Object 타입으로 선언하게 되는데, 이는 런타임에서 에러가 발생할 확률을 높인다. 아래 코드를 보자. String str = "aaa"; Object obj = str; Integer var = (Integer)obj; 이 코드는 컴파일시에는 아무 문제가 없이 컴파일이 된다. 그러나 실행하면 잘못된 타입 변환으로 예외가 발생하며 종.. 공감수 0 댓글수 0 2021. 4. 27.
  • 중첩클래스 2 이전글 2021/02/28 - [Java] - 중첩클래스 중첩클래스 안드로이드 프로그래밍을 하면서, 클래스 내부에 다른 클래스를 만드는 형태의 코드를 종종 짜게 되었다. 관련 레퍼런스나 다른 사람들이 작성한 코드를 복붙하는 수준으로만 했었는데, 문뜩 robinjoon98.tistory.com 이전 포스팅에서 중첩클래스의 종류와 특징, 그리고 중첩클래스의 접근제한에 대해 알아봤다. 이번 포스팅에서는 익명객페에 대해 다룬다. 익명객체 익명객체는 이름이 없는 객체를 말한다. 익명객체는 클래스를 상속하거나 인터페이스를 구현해야만 생성이 가능하다. 인터페이스를 구현한 익명객체는 오로지 하나의 인터페이스만 구현할 수 있다. 1. 익명자식객체 익명자식객체란 클래스를 상속하여 만들어지는 익명객체를 말한다. 부모타입으로.. 공감수 0 댓글수 0 2021. 3. 9.
  • 중첩클래스 안드로이드 프로그래밍을 하면서, 클래스 내부에 다른 클래스를 만드는 형태의 코드를 종종 짜게 되었다. 관련 레퍼런스나 다른 사람들이 작성한 코드를 복붙하는 수준으로만 했었는데, 문뜩 클래스 내부에 다른 클래스를 구현하는 이유와 그 종류가 궁금해 공부해 보았다. 신용권, 『이것이 자바다』, 한빛미디어(2015), 9장 을 이용해 공부한 내용을 정리해보았다. 중간중간 내 생각도 추가되어있다. 중첩클래스 클래스 내부에 선언한 클래스를 중첩클래스라고 한다. 객체지향 프로그래밍에서 각 클래스들은 서로 관계를 맺고 메소드와 필드를 사용해 상호작용을 한다. 그러다보면 어떤 클래스는 다른 여러 클래스와 관계를 맺기도 하고, 어떤 클래스는 하나의 클래스와만 관계를 맺기도 한다. 설계를 하는 입장에서, 그 복잡성을 줄이려.. 공감수 0 댓글수 0 2021. 2. 28.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.