Light Blue Pointer
본문 바로가기

분류 전체보기311

추상클래스와 인터페이스 정의와 차이점 추상클래스(Abstract Class)와 인터페이스(Interface)는 모두 클래스 간의 공통적인 동작을 정의하는 방법을 제공한다추상클래스 (Abstract Class)하나 이상의 추상 메서드를 포함하는 클래스일반 메서드도 포함할 수 있다필드를 가질 수 있다생성자를 가질 수 있다상속을 통해 클래스의 공통적인 동작을 정의할 때 사용한다추상 메서드선언되어있지만 구현은 되어있지 않은 메서드추상클래스 자체는 인스턴스화할 수 없으며, 추상클래스를 상속받는 하위 클래스에서 추상 메서드를 구현해야 한다인터페이스 (Interface)인터페이스는 메서드의 선언만을 포함하며, 구현은 제공하지 않는 추상 타입모든 메서드는 기본적으로 추상 메서드디폴트 메서드(default methods)와 static 메서드를 포함할 수 .. 2024. 5. 24.
Object Oriented Programming 객체 지향 프로그래밍(OOP, Object-Oriented Programming)은 소프트웨어 설계 패러다임의 하나로, 프로그램을 객체(object)의 집합으로 보고 이 객체들이 서로 상호작용하여 동작하도록 구성하는 방법론이다객체는 데이터와 그 데이터를 처리하는 함수를 함께 묶어 놓은 일종의 모듈이다OOP의 핵심 개념에는 클래스, 객체, 상속, 다형성, 캡슐화가 포함된다핵심 개념클래스(Class)클래스는 객체를 정의하는 틀(template) 또는 청사진(blueprint)이다클래스는 데이터(속성)와 행동(메서드)을 정의한다**자동차**라는 클래스를 정의하면, 이는 모든 자동차가 가져야 할 속성과 행동을 포함한다객체(Object)객체는 클래스로부터 생성된 실체(instance)이다객체는 클래스에서 정의한 .. 2024. 5. 24.
오버라이딩과 오버로딩 차이 오버로딩(Overloading)메서드의 이름은 같고 매개변수의 유형과 개수가 다르도록 하는 것리턴값만을 다르게 갖는 오버로딩은 작성할 수 없다오버로딩은 같은 이름의 메서드를 여러 개 정의하되, 매개변수의 개수나 타입을 다르게 하여 구분하는 것이다오버로딩은 주로 메서드의 사용 편의성을 높이기 위해 사용된다특징메서드 이름이 같아야 한다매개변수의 개수나 타입이 달라야 한다반환 타입은 같아도 되고 달라도 된다같은 클래스 내에서 정의된다public class OverloadingExample { // 두 개의 정수를 더하는 메서드 public int add(int a, int b) { return a + b; } // 세 개의 정수를 더하는 메서드 public int add.. 2024. 5. 23.
[프로그래머스] 스킬 트리 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다.예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다.위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리.. 2024. 5. 21.
JVM(Java Virtual Machine) Java Virtual Machine자바를 실행하기 위한 가상 기계(컴퓨터)JVM은 Java프로그램이 플랫폼에 독립적으로 실행될 수 있게 = OS에 종속적이지 않게 해준다Java 소스코드(원시코드(*.java))는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야 한다Java는 이 JVM 이라는 가상머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라 JVM이 인식할 수 있는 Java bytecode(*.class)로 변환된다 JVM의 주요 기능바이트코드 실행Java 프로그램은 먼저 Java 컴파일러(javac)에 의해 바이트코드(.class 파일)로 컴파일된다이 바이트코드는 JVM이 이해할 수 있는 명령어 집합으로 변환된다메모리 관리JVM은 프로그램 실행.. 2024. 5. 17.
멀티스레드와 스레드 풀 / 스레드와 프로세스의 차이 프로세스(Process)cpu에 의해 메모리에 올려져 실행중인 프로그램을 말하며, 자신만의 메모리 공간을 포함한 독립적인 실행 환경을 가지고 있다프로그램 중 일부는 여러 프로세스간 상호작용을 하는 것일수도 있다자바 JVM(Java Virtual Machine)은 주로 하나의 프로세스로 실행되며, 동시에 여러 작업을 수행하기 위해서 멀티 스레드를 지원하고 있다스레드(thread)프로세스 내에서 독립적으로 실행되는 흐름프로세스 안에서 실질적으로 작업을 실행하는 단위JVM(Java Virtual Machine)에 의해 관리됨프로세스에는 적어도 한 개 이상의 스레드가 있다Main 스레드 하나로 시작하여 스레드를 추가로 생성하면 멀티 스레드 환경이 된다멀티스레딩 (Multithreading)하나의 프로세스 내에서.. 2024. 5. 17.
2024 상반기 하나금융티아이 면접 후기 필기합격 알려주고 3일 후였나 촉박한 시간 후에 청라에 위치한 연수원에서 봤다허허벌판에 서있음연수원은 이렇게 생겼음  가면 대기 장소가 있다 대학 강의실같이 책상과 의자들이 있고 책상마다 물이 하나씩 있고 뒤에는 과자가 있다비즈니스 캐주얼 입고 오라고 했는데 풀정장이 절대 다수였다가면 신분증 대조해서 이름표를 주고 그걸 정장 앞주머니에다 꽂으라고 한다정장에 앞주머니가 하나 달려있어서 다행이었다그리고 면접을 볼 차례가 되면 이름을 호명하고 줄 세워서 면접 보는 곳으로 데려간다 면접관들은 세분이 계셨고 굉장히 따스하게 대해주셨다나는 이게 생애 첫 면접이어서 굉장히 긴장했는데들어가서 첫사람이 인사도 하라고 시켜서 목소리 부들부들 떨면서 차렷 경례 이런거 했다그리고 질문도 나부터 받았는데 얼굴이 새빨개지고 머리.. 2024. 5. 17.
2024 상반기 하나금융티아이 코딩테스트 후기 일반 문제 3문제 sql 문제 3문제 나왔다1번 20분2번 1시간3번 20분 컷 1번은 팀원 구하는 문제였다2번이 빙판 미끄러지고 바위만나면 멈추고 다른데로 가는데 최소 count 구하는 문제였다방향을 char의 인자로 줘서 풀었던거 같다3번 동전 몇개인지 주어지고 최소의 동전수로 지폐를 교환해주는 거 아니면 -1 쓰라고 하는 문제였다백준에 그리디알고리즘 풀기 시작했을때 이런 문제 많아서 바로 풀었다 일반 알고리즘 문제는 3솔했고 sql은 공부를 거의 안 해서 3개중에 1개밖에 못 풀었다Sql은 group by 1문제 기억안나는 쉬운문제 3개 테이블을 JOIN하는 문제 이렇게 나옴 결과는 코테 합격이었다 2024. 5. 17.
[프로그래머스] 방문 길이 Java 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/49994?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다.U: 위쪽으로 한 칸 가기D: 아래쪽으로 한 칸 가기R: 오른쪽으로 한 칸 가기L: 왼쪽으로 한 칸 가기캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져.. 2024. 5. 17.