본문 바로가기

Java12

[Java] 많은 프로그램들은 왜 여전히 자바(Java)를 사용할까? 왜 많은 프로그램들은 자바를 사용하는지에 대한 의문을 학습 [많은 프로그램들은 왜 자바를 사용할까?]개발을 하다 보면 이런 의문이 든다.요즘 다른 언어들도 많은데 왜 많은 회사들은 아직도 자바를 쓰는걸까?자바는 오래된 언어가 아닌가?하지만 자바가 선택되는 데에는 명확한 이유들이 있다.그 이유들에 대해 알아보자 [1. 자바는 "오래 살아남도록 설계된 언어"이다]자바의 가장 큰 특징은 처음부터 엔터프라이즈(대규모 시스템)를 목표로 만들어졌다는 점이다.자바가 중요하게 생각하는 것들은 다음과 같다.- 한 번 만든 시스템을 오래 유지할 수 있을 것- 수많은 개발자가 같이 작업해도 망가지지 않을 것- 운영 중에 쉽게 죽지 않을 것즉, 자바는 처음부터 개발자가 편한 언어 보다 회사가 안 망하는 언어로 설계되었다.[2.. 2026. 1. 22.
[Java] 생성자(Constructor)에 대해 알아보자 [생성자(Constructor)란 무엇인가?]자바 코드를 보다 보면 이런 코드를 자주 보게 된다User user = new User();여기서 보통은 그냥 객체를 선언한거구나, 객체를 만든거구나 생각하겠지만 중요한것은new User()가 실행되는 순간 자바는 무슨일을 하는걸까?이다. [생성자는 왜 필요할까?]1. 객체를 "사용 가능한 상태" 로 만들어야 한다.객체는 new로 만들면 메모리(Heap)에 공간이 생기는데, 그 순간 객체는 단순히 만들어 진 것이지 사용할 준비가 완료된 것이 아니다.예를 들어 User를 생성한다고 보면 생성자에서 "최소한 이정도는 갖춰야 User로 인정"같은 초기 세팅을 하는것이다.class User { String name; User(String name) { .. 2026. 1. 14.
[Java] main은 왜 static이 붙을까? [자바 프로그램은 어떻게 시작될까?]자바 프로그램이 실행되면 가장먼저 JVM이 동작한다.그리고 JVM이 시작되면 프로그램을 시작해야하는데 아무 객체도 없고 뭘 먼저 실행해야하지? 라는 물음에 빠지게 된다.이 물음을 해결하기 위해 등장한 개념이 static이다 [static은 객체없이도 존재하는것]static이 붙어있는 변수 or 메서드는 객체가 없어도 메모리에 먼저 올라간다.이말인 즉 객체를 만들기 전에도 이미 존재하고 그렇다는 것은 클래스 이름만으로 바로 접근이 가능하다는것이다.Example.staticMethod(); // 클래스로 바로 호출 가능![instance는 "객체에 소속된 것"]반대로 static이 없는 변수나 메서드는 객체(instance)에 소속된다이말인 즉 new로 객체를 만들어야 하.. 2026. 1. 13.
[Java] 오버로딩(Method Overloading) [오버로딩이란?]같은 이름의 메서드를 매개변수(parameter)의 "구조"를 다르게 해서 여러 개 정의하는 것오버로딩이란 한줄로 요약하자면 "같은 이름, 다른 모양"이라고 할 수 있다System.out.println("Hello");System.out.println(123);System.out.println(3.14);위 println은 보면 문자열도 되고, 숫자도 되고, 실수도 모두 표기할 수 있다.이게 마로 메서드 오버로딩의 기능이다. [오버로딩을 이해해 보자]void print(int a)void print(int a, int b)void print(String s)void print(double d)위 코드를 보자. 동일한 print메서드에 다양한 매개변수를 주고 있다.메서드 오버로딩은 같은 .. 2026. 1. 11.