본문 바로가기

Java30

[Java Study 4주차] 제어문 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바가 제공하는 제어문을 학습하세요. 제어문 프로그램의 실행 제어에는 세 가지 구조가 있다. 순차 구조에서 벗어나 프로그래머가 원하는 실행 흐름대로 프로그램을 제어하기 위한 문장(statement)을 제어문이라고 한다. 그 중 선택 구조와 반복 구조를 위해 사용되는 문장을 각각 선택문, 제어문이라고 한다. 선택문 자바의 선택문에는 if-else 예약어를 사용하는 if문과 switch-case 예약어를 사용하는 switch문이 있다. if 문 가장 간단한 형태의 선택문이다. 조건이 참이면 블록 안의 코드를 수행하고 거짓이면 수행.. 2021. 1. 2.
[Java Study 3주차] 연산자 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바가 제공하는 다양한 연산자를 학습하세요. 연산자 연산자 종류 자바에는 아래와 같은 연산자들이 존재한다. 연산의 우선순위가 높은 순서대로 나열되어 있다. Associativity는 연산의 방향을 나타낸다. L은 왼쪽에서 오른쪽으로 연산이 진행되고 R은 오른쪽에서 왼쪽으로 연산이 진행된다는 뜻이다. Associativity Operator Operand Types Operation Performed L . object, member 객체의 멤버에 접근 [ ] array, int 배열의 요소에 접근 (args) method, a.. 2020. 12. 31.
[Java] 클래스 멤버는 왜 인스턴스 멤버를 참조할 수 없을까? 클래스 멤버와 인스턴스 멤버 간 참조 관계 클래스 멤버(스태틱 변수, 스태틱 메서드)는 인스턴스 멤버를 사용할 수 없습니다. 아래 예시를 보시죠 static 예약어가 사용된 클래스 멤버에서 인스턴스 메서드를 호출하거나 인스턴스 변수를 사용하려고하면 빨간줄이 그어지면서 컴파일 에러가 발생합니다. 반면 인스턴스 메서드에서 클래스 변수를 사용하거나 클래스 메서드를 호출하는데는 아무런 문제가 없죠. 왜 이런 일이 발생할까요? 이는 클래스 멤버와 인스턴스 멤버가 생성되는 시기와 관련이 있습니다. JVM 메모리 구조 우선 JVM의 메모리 구조를 살펴봅시다. JVM의 Runtime Data Area는 서로 다른 용도를 가진 영역으로 구분되어 있습니다. 그 중 메서드 영역, 호출 스택, 힙에 대해 살펴보겠습니다. 메서.. 2020. 12. 30.
[Java Study 2주차] 자바 데이터 타입, 변수 그리고 배열 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 데이터 타입이란? 이전 포스팅에서 데이터 타입이 무엇이고 어떤 기능을 하는지에 대해 알아본 적이 있다. 간단하게 말하자면 데이터 타입이란 메모리의 크기와 형태를 지정하기 위한 도구이다. 이번에는 자바의 프리미티브 타입과 변수에 대해 알아보자. 원시 자료형(Primitive Data Type) 원시 자료형은 컴파일러 차원에서 미리 메모리의 크기와 형태를 지정해둔 것이다. 자바에는 8가지의 원시 자료형이 있다. 원시 자료형의 이름과 크기는 외워두는 것이 좋다... 2020. 12. 29.
[Java Study 1주차] JVM은 무엇이고 자바 코드는 어떻게 실행하는 것인가 본 포스팅은 백기선님이 진행하시는 자바 스터디를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 목표: 자바 소스 파일(*.java)을 JVM으로 실행하는 과정 이해하기 자바 프로그램은 어떤 과정을 거쳐서 실행될까? 자신이 사용하는 언어로 작성된 프로그램이 어떤 방식으로 동작하는지 아는 것은 매우 중요합니다. 그래야 문제가 발생하더라도 어떤 과정에 어떤 부분에서 문제가 생겼는지, 왜 이런 문제가 발생했는지 등을 이해할 수 있습니다. 이 글에서는 자바 프로그램이 어떻게 동작하는지 처음부터 끝까지 자세하게 알아보도록 하겠습니다. 컴퓨터 프로그램은 먼저 사람이 읽을 수 있는 프로그래밍 언어로 작성된 후 이를 컴퓨터가 알아들을 수 있는.. 2020. 12. 28.
자료형(Data Type)이 도대체 뭘까? 소설같은 자바를 읽으면서 새삼 새로웠던 부분이 데이터 타입과 관련된 부분이다. 파이썬 같은 동적 타입 언어 이외의 언어는 많이 다뤄보질 않아서 더욱이 생각해보지 못했던 질문인데, 그것은 바로 왜! 변수 앞에 자료형을 명시하느냐! 하는 것이다. 그냥 이 변수가 어떤 자료형인지 알려주기 위해서? 정도로 생각했는데 더욱 중요한 이유가 있었다. 간단히 말하면 데이터 타입은 메모리를 생성하기 위한 도구이며 자바에서 메모리를 생성하는 방법은 오로지 데이터 타입을 이용하는 것밖에 없다(왜 "자바에서"라는 말이 들어가는지는 모르겠는데 책에 그렇게 적혀있다;;). 만약 프로그래밍을 하는데 4 바이트의 메모리를 얻어내는 일이 매우 빈번하게 일어난다면 4 바이트의 메모리를 얻는 일반적인 방법이 필요할 것이다. 이를 위해 메.. 2020. 12. 26.