본문 바로가기
  • Let's study

java16

[Java] 상속 / 구성 상속(Inheritance)은 기존 클래스의 기능을 물려받아 새로운 클래스를 만드는 객체지향 문법이다.여러 클래스에 동일한 함수가 반복된다면, 공통 기능을 부모 클래스에 모아두고 자식 클래스가 이를 상속받아 사용할 수 있다.상속을 사용하는 이유동일한 코드가 여러 클래스에 반복되면 다음과 같은 문제가 발생한다.코드의 양이 많아진다.수정해야 할 부분이 여러 곳에 생긴다.유지보수가 어려워진다.예를 들어 숨쉬다(), 야옹(), 뛰어넘다() 메서드가 모든 고양이 클래스에 반복된다면, 같은 코드를 여러 번 작성해야 한다.이러한 중복 코드는 유지보수를 어렵게 만드는 대표적인 원인이다.상속을 이용한 중복 제거공통 기능을 부모 클래스인 고양이에 작성하고, 각 고양이 클래스는 extends를 사용하여 상속받는다.class.. 2026. 7. 14.
[Java] static 변수 / 메서드 static이란?static은 클래스(Class)에 속하는 멤버를 의미한다. 객체마다 생성되는 것이 아니라 클래스에 하나만 생성되어 모든 객체가 함께 공유한다.즉, static 변수는 객체를 여러 개 생성해도 하나만 존재하므로 공유 자원이 된다.객체를 통해 접근할 수도 있지만, 실제로는 객체의 것이 아니라 클래스의 것이다.인스턴스 변수static이 없는 변수는 인스턴스 변수이다. 객체를 생성할 때마다 각각의 객체가 자신만의 변수를 가진다.public class Main { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); p1.age = 20; .. 2026. 7. 14.
[Java] 리스트(List) / 맵(Map) 래퍼 클래스(Wrapper Class)래퍼 클래스란 기본형(Primitive Type)을 객체(Object)처럼 사용할 수 있도록 만든 클래스이다.기본형래퍼 타입booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoublechar과 int만 외우고 나머지는 앞글자만 대문자로 변경하면 된다.래퍼 클래스를 사용하는 이유기본형은 객체가 아니기 때문에 컬렉션, 제네릭 등 객체만 사용할 수 있는 기능에서는 사용할 수 없다. 이때 래퍼 클래스를 사용한다.배열(Array)과 리스트(List)배열(Array)은 크기가 고정되어 있으며, 리스트(List)는 크기를 자유롭게 변경할 수 있는 가변 크기의 자료구조이다.또한, List의.. 2026. 7. 14.
[Java] 함수 함수(Function)란?특정 작업을 여러 번 반복해야 할 때, 같은 코드를 계속 작성하면 코드의 중복이 심해진다는 문제가 생긴다.이때 사용하는 것이 함수(Function)​이다.반복되는 코드를 따로 빼서 함수라는 틀로 선언해두고, 필요한 곳에서 함수를 호출해서 사용하면 된다. 이렇게 하면 같은 코드를 여러 번 작성할 필요가 없어지고, 코드를 수정해야 할 때도 함수만 수정하면 되기 때문에 관리하기도 훨씬 편하다.함수는 클래스 안에 선언해야 하며, 함수 안에 또 다른 함수를 선언할 수는 없다.public class Main { public static void main(String[] args) { work(); work(); work(); } publ.. 2026. 7. 13.
[프로그래머스 Lv.0] 대문자와 소문자(Java) 문제https://school.programmers.co.kr/learn/courses/30/lessons/120893 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이먼저 charAt()을 이용해 현재 문자를 가져온다.char c = my_string.charAt(i);이후 Character.isUpperCase()를 사용해 대문자인지 확인한다.대문자라면 Character.toLowerCase()를 사용해 소문자로 변환소문자라면 Character.toUpperCase()를 사용해 대문자로 변환if (Character.isUpperCase(c)) answer += Character.toLowerCase(c.. 2026. 7. 13.
[Java] 클래스 변수만 이용해서 현실의 개념이나 사물을 표현하기에는 쉽지 않다.사람의 정보를 표현하기 위해 나이, 이름, 거주지를 저장한다고 해보자. 사람마다 3개의 변수가 필요한데, 사람 수가 늘어날 수록 3*n개의 변수가 필요하고 이는 헷갈릴 수 밖에 없다.이럴 때 class를 사용해 관련된 여러 데이터를 묶을 수 있다.class클래스는 자바한테 특정 사물의 생김새를 알려주는 것이다."사람은 나이, 이름, 거주지 3개의 정보를 가지고 있는 묶음이다"는 것을 자바한테 알려주는 방법은 아래와 같다.클래스는 기본적으로 Main 코드 밖에 선언한다.public class Main { public static void main(String[] args) { }}class Person { int age; .. 2026. 7. 13.