프로그래밍 언어
-
상속 (Inheritance) 상속이란 사전적 의미로 "일정한 친족 관계가 있는 사람 사이에서, 한 사람이 사망한 후에 다른 사람에게 재산에 관한 권리와 의무의 일체를 이어 주거나, 다른 사람이 사망한 사람으로부터 그 권리와 의무의 일체를 이어받는 일" 로 정의되고 있습니다. 자바에서는 상위(부모) 클래스의 멤버를 하위(자식) 클래스에서 재사용하기 위해서 사용하는 것을 상속이라고 합니다. 이렇게 재사용하게 되면 상위 클래스의 코드를 변경할 때 모든 하위 클래스들에게도 적용되므로 유지 보수성이 향상됩니다. 다만, 상속을 사용하면 클래스간 결합도가 높아지므로 확실한 IS-A 관계에서만 사용하는 것이 좋습니다. 사용법 extends라는 키워드를 사용해서 상속을 합니다. // 상위 클래스 class Animal..
자바 기초 - 상속상속 (Inheritance) 상속이란 사전적 의미로 "일정한 친족 관계가 있는 사람 사이에서, 한 사람이 사망한 후에 다른 사람에게 재산에 관한 권리와 의무의 일체를 이어 주거나, 다른 사람이 사망한 사람으로부터 그 권리와 의무의 일체를 이어받는 일" 로 정의되고 있습니다. 자바에서는 상위(부모) 클래스의 멤버를 하위(자식) 클래스에서 재사용하기 위해서 사용하는 것을 상속이라고 합니다. 이렇게 재사용하게 되면 상위 클래스의 코드를 변경할 때 모든 하위 클래스들에게도 적용되므로 유지 보수성이 향상됩니다. 다만, 상속을 사용하면 클래스간 결합도가 높아지므로 확실한 IS-A 관계에서만 사용하는 것이 좋습니다. 사용법 extends라는 키워드를 사용해서 상속을 합니다. // 상위 클래스 class Animal..
2023.07.19 -
생성자 (Constructor) 생성자란 말 그대로 무언가를 생성하는 녀석을 의미합니다. 자바에서 무언가는 바로 객체를 의미합니다. 즉, 객체를 생성해 주는 녀석이라 생각하면 됩니다. 📌 사용법 사용법은 메서드와 거의 동일합니다만 메서드 명이 클래스 자기 자신이라는 것에 차이가 있습니다. 객체는 new 키워드와 함께 생성자를 호출하면 생성됩니다. // 객체 생성! Person person = new Person(); // 예시 클래스 public class Person{} 위에서 보면 클래스에 아무것도 없는데도 객체가 생성되었습니다. 이게 왜그러냐면 클래스에 기본 생성자가 없으면 컴파일러가 기본 생성자를 제공하기 때문입니다. public class Person{ // 생성자 문법 // 접근제한자 클래스명..
자바 기초 - 생성자생성자 (Constructor) 생성자란 말 그대로 무언가를 생성하는 녀석을 의미합니다. 자바에서 무언가는 바로 객체를 의미합니다. 즉, 객체를 생성해 주는 녀석이라 생각하면 됩니다. 📌 사용법 사용법은 메서드와 거의 동일합니다만 메서드 명이 클래스 자기 자신이라는 것에 차이가 있습니다. 객체는 new 키워드와 함께 생성자를 호출하면 생성됩니다. // 객체 생성! Person person = new Person(); // 예시 클래스 public class Person{} 위에서 보면 클래스에 아무것도 없는데도 객체가 생성되었습니다. 이게 왜그러냐면 클래스에 기본 생성자가 없으면 컴파일러가 기본 생성자를 제공하기 때문입니다. public class Person{ // 생성자 문법 // 접근제한자 클래스명..
2023.07.19 -
객체지향 프로그래밍 객체지향 프로그래밍에 대해서 알아보기 위해서는 우선 객체(Object)에 대해서 알아야 합니다. 객체란 사전적 의미로 주체에 반대되는 말로 주체가 활용하는 것, 실세계에 존재하거나 생각할 수 있는 것을 의미합니다. 간단하게 말해 우리 주변의 모든 것들을 객체라고 부릅니다. 객체를 지향한다라는 의미의 객체지향 프로그래밍은 주변의 많은 것들 오브젝트화(객체화)하여 프로그래밍 하는 것을 의미합니다. 게임을 좋아하시는 분이라면 게임 내에서 오브젝트가 의미하는게 대강 무슨 뜻인지 아실거라 생각합니다. 각각의 오브젝트가 모여서 각기 다른 역할을 하며, 이러한 오브젝트들이 모여 하나의 게임을 구성하는 것처럼 현실 세계를 객체를 통해 구현하는 것을 객체지향 프로그래밍이라고 할 수 있습니다. 객체지향..
자바 기초 - 객체 지향 프로그래밍 (OOP)객체지향 프로그래밍 객체지향 프로그래밍에 대해서 알아보기 위해서는 우선 객체(Object)에 대해서 알아야 합니다. 객체란 사전적 의미로 주체에 반대되는 말로 주체가 활용하는 것, 실세계에 존재하거나 생각할 수 있는 것을 의미합니다. 간단하게 말해 우리 주변의 모든 것들을 객체라고 부릅니다. 객체를 지향한다라는 의미의 객체지향 프로그래밍은 주변의 많은 것들 오브젝트화(객체화)하여 프로그래밍 하는 것을 의미합니다. 게임을 좋아하시는 분이라면 게임 내에서 오브젝트가 의미하는게 대강 무슨 뜻인지 아실거라 생각합니다. 각각의 오브젝트가 모여서 각기 다른 역할을 하며, 이러한 오브젝트들이 모여 하나의 게임을 구성하는 것처럼 현실 세계를 객체를 통해 구현하는 것을 객체지향 프로그래밍이라고 할 수 있습니다. 객체지향..
2023.07.18 -
💡 기초 복습 겸 정리하고 있는 글입니다. 간단하게만 설명하고 넘어가는 부분이 많으니 참고 바랍니다. 조건문 조건문에는 if문과 switch문이 존재합니다. 사용법은 다음과 같습니다. // if문 if ( 조건식 ) { 실행문; ... }else if ( 조건식 ) { 실행문; }else { 실행문; } // switch문 switch( 변수 ) { case 값1 : 실행문; break; case 값2 : 실행문; break; default : 실행문; break; } if문의 경우, 조건식이 true거나 false여야 합니다. 또한, 실행문이 하나인 경우, 중괄호를 생략하고 사용할 수 있습니다. switch문의 경우 주의해야할게 case에 break가 작성되어있지 않다면 빠져나가지 않고 그 아래에 존재..
자바 기초 - 조건문과 반복문💡 기초 복습 겸 정리하고 있는 글입니다. 간단하게만 설명하고 넘어가는 부분이 많으니 참고 바랍니다. 조건문 조건문에는 if문과 switch문이 존재합니다. 사용법은 다음과 같습니다. // if문 if ( 조건식 ) { 실행문; ... }else if ( 조건식 ) { 실행문; }else { 실행문; } // switch문 switch( 변수 ) { case 값1 : 실행문; break; case 값2 : 실행문; break; default : 실행문; break; } if문의 경우, 조건식이 true거나 false여야 합니다. 또한, 실행문이 하나인 경우, 중괄호를 생략하고 사용할 수 있습니다. switch문의 경우 주의해야할게 case에 break가 작성되어있지 않다면 빠져나가지 않고 그 아래에 존재..
2023.07.12 -
💡 기초 복습 겸 다시 정리하고 있습니다. 설명이 부족한 부분이 있을 수 있으니 고려하여 읽어주시기 바랍니다. 연산자와 연산식 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(Operation) ,연산에서 사용되는 표시나 기호를 연산자(Operator)라고 합니다. 연산되는 데이터는 피연산자(Operand)라고 하며 연산의 과정을 기술한 것을 연산식(Expressions)라 합니다. 연산식은 반드시 하나의 값을 산출하므로, 하나의 값이 올 수 있는 곳이라면 어디든지 값 대신 연산식을 사용할 수 있습니다. 📌 연산자의 종류 연산자는 필요로 하는 피연산자의 수에 따라 크게 단항, 이항, 삼항 연산자로 구분됩니다. 자바에서 제공하는 연산자는 다음과 같습니다. 🔎 단항 연산자 단항 연산자란 피연산자가 ..
자바 기초 - 5. 연산자💡 기초 복습 겸 다시 정리하고 있습니다. 설명이 부족한 부분이 있을 수 있으니 고려하여 읽어주시기 바랍니다. 연산자와 연산식 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(Operation) ,연산에서 사용되는 표시나 기호를 연산자(Operator)라고 합니다. 연산되는 데이터는 피연산자(Operand)라고 하며 연산의 과정을 기술한 것을 연산식(Expressions)라 합니다. 연산식은 반드시 하나의 값을 산출하므로, 하나의 값이 올 수 있는 곳이라면 어디든지 값 대신 연산식을 사용할 수 있습니다. 📌 연산자의 종류 연산자는 필요로 하는 피연산자의 수에 따라 크게 단항, 이항, 삼항 연산자로 구분됩니다. 자바에서 제공하는 연산자는 다음과 같습니다. 🔎 단항 연산자 단항 연산자란 피연산자가 ..
2023.04.10 -
💡 기초 복습 겸 다시 정리하고 있습니다. 설명이 부족한 부분이 있을 수 있으니 고려하여 읽어주시기 바랍니다. 변수(Variable) 프로그램은 필요에 따라 데이터를 메모리에 저장하고 사용하게 됩니다. 이러한 하나의 값만을 저장하는 메모리 공간을 변수라고 합니다. 변수에는 복수 개의 값을 저장할 수 없고, 한가지 타입의 값만 저장할 수 있습니다. 변수란 이름을 갖게 된 이유는 프로그램에 의해 수시로 값이 변동 될 수 있기 때문입니다. 📌 변수의 선언과 초기화 변수의 선언이란 데이터를 메모리에 저장하기 위해 공간을 확보하는 작업이라고 할 수 있습니다. 데이터 저장을 위해 얼마만큼의 메모리 공간을 확보해야하는지 컴파일러에게 알려줄 필요가 있는데, 이 때 데이터의 타입을 이용해서 알려줄 수 있습니다. 메모리 ..
자바 기초 - 4. 변수와 데이터 타입💡 기초 복습 겸 다시 정리하고 있습니다. 설명이 부족한 부분이 있을 수 있으니 고려하여 읽어주시기 바랍니다. 변수(Variable) 프로그램은 필요에 따라 데이터를 메모리에 저장하고 사용하게 됩니다. 이러한 하나의 값만을 저장하는 메모리 공간을 변수라고 합니다. 변수에는 복수 개의 값을 저장할 수 없고, 한가지 타입의 값만 저장할 수 있습니다. 변수란 이름을 갖게 된 이유는 프로그램에 의해 수시로 값이 변동 될 수 있기 때문입니다. 📌 변수의 선언과 초기화 변수의 선언이란 데이터를 메모리에 저장하기 위해 공간을 확보하는 작업이라고 할 수 있습니다. 데이터 저장을 위해 얼마만큼의 메모리 공간을 확보해야하는지 컴파일러에게 알려줄 필요가 있는데, 이 때 데이터의 타입을 이용해서 알려줄 수 있습니다. 메모리 ..
2023.04.06 -
🎈 Garbage Collection이란? JVM의 Garbage Collecter가 메모리 누수를 방지하기 위해 주기적으로 Heap 영역에서 더이상 참조되지 않는 불필요한 메모리(Garbage)를 청소하는 과정입니다. ✨ GC의 중요한 개념 Garbage Collection이 어떻게 작동하는지 알기 위해서 알고 넘어가야할 개념들이 있습니다. Reachability (접근 가능성) GC에서 객체가 참조되고 있는지 아닌지(Garbage인지)를 판별하는 것을 의미합니다. 객체로부터 유효하게 참조되고 있으면 Reachable, 참조되지 않으면 Unreachable 이라 합니다. Root Set(메소드 영역, 스택, 네이티브 스택)에서 참조되고 있거나 참조의 시발점이 Root Set이라면 Reachable로 보..
자바 기초 - 3. Garbage Collection (GC)와 Heap 영역🎈 Garbage Collection이란? JVM의 Garbage Collecter가 메모리 누수를 방지하기 위해 주기적으로 Heap 영역에서 더이상 참조되지 않는 불필요한 메모리(Garbage)를 청소하는 과정입니다. ✨ GC의 중요한 개념 Garbage Collection이 어떻게 작동하는지 알기 위해서 알고 넘어가야할 개념들이 있습니다. Reachability (접근 가능성) GC에서 객체가 참조되고 있는지 아닌지(Garbage인지)를 판별하는 것을 의미합니다. 객체로부터 유효하게 참조되고 있으면 Reachable, 참조되지 않으면 Unreachable 이라 합니다. Root Set(메소드 영역, 스택, 네이티브 스택)에서 참조되고 있거나 참조의 시발점이 Root Set이라면 Reachable로 보..
2023.04.06 -
❗ 읽기 전 알아두면 좋은 용어 소스 코드 (Source Code) : 사람이 읽을 수 있는 코드로 보통 컴퓨터 소프트웨어(프로그램)를 프로그래밍 언어로 기술한 것을 의미 바이트 코드 (Byte Code) : 소스 코드를 컴파일하여 가상머신이 이해할 수 있도록 만든 중간 코드 기계어 (Machine Code) : 컴퓨터(CPU)가 별다른 해석 없이 바로 읽을 수 있는 코드, 네이티브 코드라고도 합니다. 💻 JVM이란? Java Virtual Machine의 약자로, 자바로 개발된 프로그램을 실행하기 위한 가상 컴퓨터를 의미합니다. 조금 더 자세히 말해보자면, JVM은 자바로 개발된 프로그램을 컴파일하여 만들어지는 자바 바이트 코드를 해석하고 실행하는 역할을 합니다. 자바와 OS 사이에서 중개자 역할을 하..
자바 기초 - 2. JVM에 대한 모든 것❗ 읽기 전 알아두면 좋은 용어 소스 코드 (Source Code) : 사람이 읽을 수 있는 코드로 보통 컴퓨터 소프트웨어(프로그램)를 프로그래밍 언어로 기술한 것을 의미 바이트 코드 (Byte Code) : 소스 코드를 컴파일하여 가상머신이 이해할 수 있도록 만든 중간 코드 기계어 (Machine Code) : 컴퓨터(CPU)가 별다른 해석 없이 바로 읽을 수 있는 코드, 네이티브 코드라고도 합니다. 💻 JVM이란? Java Virtual Machine의 약자로, 자바로 개발된 프로그램을 실행하기 위한 가상 컴퓨터를 의미합니다. 조금 더 자세히 말해보자면, JVM은 자바로 개발된 프로그램을 컴파일하여 만들어지는 자바 바이트 코드를 해석하고 실행하는 역할을 합니다. 자바와 OS 사이에서 중개자 역할을 하..
2023.04.05 -
JAVA란? 1995년 Sun Microsystems에서 발표하고 현재 Oracle에서 관리하고 있는 객체지향 프로그래밍(OOP) 언어 입니다. 위의 이미지에서 보듯 인기있는 프로그래밍 언어 중 하나로서 특히 한국에서 많이 사용되어지고 있습니다. 🔎 특징 자바는 다양한 특징을 가지고 있지만 그 중 알아두면 좋을만한 특징들을 알아봅시다. 1. Cross-Platform을 지원 Write Once, Run Anywhere Cross-Platform이란 다양한 플랫폼에서 사용할 수 있는 것을 의미합니다. 자바로 개발된 프로그램은 자바 실행 환경(JRE)만 설치되어 있다면 소스 코드의 변경 없이 다양한 운영체제에서 실행할 수 있습니다. 2. 객체 지향 프로그래밍 (OOP) 지원 간단하게 객체지향 프로그래밍이란 ..
JAVA 기초 - 1. JAVA란?JAVA란? 1995년 Sun Microsystems에서 발표하고 현재 Oracle에서 관리하고 있는 객체지향 프로그래밍(OOP) 언어 입니다. 위의 이미지에서 보듯 인기있는 프로그래밍 언어 중 하나로서 특히 한국에서 많이 사용되어지고 있습니다. 🔎 특징 자바는 다양한 특징을 가지고 있지만 그 중 알아두면 좋을만한 특징들을 알아봅시다. 1. Cross-Platform을 지원 Write Once, Run Anywhere Cross-Platform이란 다양한 플랫폼에서 사용할 수 있는 것을 의미합니다. 자바로 개발된 프로그램은 자바 실행 환경(JRE)만 설치되어 있다면 소스 코드의 변경 없이 다양한 운영체제에서 실행할 수 있습니다. 2. 객체 지향 프로그래밍 (OOP) 지원 간단하게 객체지향 프로그래밍이란 ..
2023.04.05