메모리C언어에서 메모리는 주로 다음 두 영역으로 나눌 수 있습니다. 스택 메모리(Stack Memory)함수 내부에서 선언된 변수들이 저장함수가 호출될 때 자동으로 생성, 함수가 종료되면 자동으로 소멸스택 메모리는 자동으로 관리되므로 프로그래머가 직접 해제할 필요가 없음.힙 메모리(Heap Memory)프로그래머가 직접 관리해야 하는 메모리 영역malloc, calloc 등의 함수를 사용하여 메모리를 할당받고, free 함수로 메모리를 해제프로그램 실행 중 언제든지 동적으로 할당하거나 해제 가능 메모리 관리C언어에서는 메모리를 직접 관리하기 때문에, 메모리 누수(메모리 해제를 누락)나 오버플로우(overflow, 할당된 메모리 범위를 넘어서는 접근)와 같은 문제를 조심해..
Java
Java 프로그램을 작성할 때, public static void main(String[] args) 메서드는 아주 중요한 역할을 합니다. 이 메서드는 Java 프로그램의 진입점(entry point)이라고 할 수 있는데요, 즉 Java 애플리케이션을 실행할 때 가장 먼저 호출되는 메서드입니다. 이 메서드의 각 부분이 의미하는 바를 쉽게 이해할 수 있도록 하나씩 살펴보겠습니다. public static void main(String[] args)의 구성요소 public: 이 키워드는 메서드가 공개되어 있음을 의미합니다. 즉, JVM(Java Virtual Machine)이나 다른 클래스에서 이 메서드에 접근할 수 있습니다. main 메서드는 프로그램의 시작점으로 사용되기 때문에 공개되어야 합니다. 접근 ..
AWS S3 이용한 파일 업로드(JAVA, SPRING, MyBatis, MariaDB) 스프링 연동하기 1) build.gradle에 의존성 추가 AWS Java SDK(소프트웨어 개발 키트)를 사용합니다. java aws api 검색하여 SDK 다운로드 페이지로 접속합니다. https://aws.amazon.com/ko/sdk-for-java/ Gradle 프로젝트 설정으로 이동합니다. Setup - Build tools setup - Gradle project https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-project-gradle.html SDK버전을 확인하고 업데이트합니다. Maven central repository..
클래스, 객체 인스턴스에 대하여 기본적인 개념들을 정리해 보았다. 자바를 처음 배우며 여러 가지 용어들이 혼재하여 혼란스러운 경험이 많았는데, 어느 정도 학습이 진행된 지금 다시 한번 정리가 되는 것 같다. 클래스(Class) Java에서 객체를 생성하기 위한 설계도이다. 현실 세계에서 객체를 프로그래밍 상으로 구현하기 위한 설계도이다. 클래스의 구성 클래스의 멤버에는 필드와 메서드, 생성자가 있다. 필드 필드란 클래스에 선언된 변수를 말한다. 필드는 멤버의 속성을 표현한다. 필드 : 속성 : 멤버변수 메서드 메서드란 특정작업을 하기 위한 명령문의 집합이다. 메서드는 멤버의 기능(동작)을 표현한다. 메서드 : 기능 : 멤버함수 생성자 생성자란 객체가 생성됨과 동시에 인스턴스 변수를 원하는 값으로 초기화할..
toString 메서드에 대하여 - Object 클래스의 메서드로 자주 사용됨. *Object 클래스 : 자바 언어의 모든 클래스의 최상위 클래스입니다. 즉, 모든 자바 클래스는 Object 클래스를 슈퍼클래스로 가지며, Object 클래스의 기능을 상속받습니다 - 객체의 문자열을 반환하는 메서드다. - 오버라이딩(재정의)하여 사용한다. toString 공식 API 문서 살펴보며 이해하기 자바에서 모르는 것이 있을 때 가장 좋은 방법은 공식 API문서를 확인하는 것입니다. 문서의 toString() 메서드 항목을 번역 및 해석하여 설명하며 이해하여 보겠습니다. public String toString() Returns a string representation of the object. 번역 : "객체의..
중첩 클래스란? (Nested Class) 클래스 안에 다른 클래스를 정의하는 것을 말합니다. 특정 클래스 내에서만 주로 사용할 목적으로 선언합니다. 중첩 클래스의 사용 이유는? 캡슐화 ★★★ 관련된 기능(클래스)을 묶어서 사용한다. 다른 클래스에서는 필요없기 때문에 관련 클래스 내부에 묶어서 사용한다. 내부 클래스를 외부에 노출시키고 싶지 않을 때 사용한다. 외부클래스의 필드사용 중첩 클래스는 외부 클래스의 필드를 자유롭게 사용이 가능하다.(객체화 필요 없음) 가독성 및 유지 관리 그룹화 및 캡슐화를 통해 코드의 가독성과 유지관리를 향상한다. 중첩 클래스를 사용하는 이유는 코드 구조와 가독성을 개선하고 관련된 기능을 그룹화하기 위해서이다! 중첩 클래스의 종류 1. 내부 클래스 (Inner Class, ..
다형성(Polymorphism)이란? 다형성은 '다양한 형태를 가질 수 있는 능력'을 의미합니다. 부모 클래스를 상속받은 여러 자식 클래스들이 같은 메서드나 속성을 다른 방식이나 형태로 사용하는 개념을 말합니다. 예를 들어 '동물' 부모클래스가 있다고 가정해 봅시다. 부모클래스에는 '울음소리()'라는 메서드가 있습니다. 이를 상속받는 자식 클래스 '개'와 '고양이'가 있습니다. '개'와 '고양이'는 각각 '울음소리()'가 있지만 '개' 클래스에서는 "멍멍"이라고 소리를 내고, '고양이' 클래스에서는 "야옹"이라고 소리를 낼 수 있습니다. 자동 타입 변환 '자동 타입 변환'이란 부모 클래스 타입 변수에 자식 객체 타입을 대입하면 자동으로 타입을 변환해 주는 것입니다. Cat cat = new Cat(); ..
본문 String 클래스의 valueOf() 메서드에 대하여 알아보겠습니다. valueOf(int i) valueOf(char c) valueOf(long l) valueOf(float f) valueOf(double d) valueOf(boolean b) String클래스의 valueOf() 메서드는 괄호 안의 객체를 String 객체로 변환하여 반환합니다. ()안의 인자값은 int, char, long 등 기본형 데이터등이 될 수 있습니다. Sample Code public class String_valueOf { public static void main(String[] args) { //기본형 선언 int a = 1; char b = '가'; long c = 1234567890000L; float..