자바

객체와 객체 지향 프로그래밍
객체(Object) 의사나 행위가 미치는 대상 (사전적 의미) 구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송 등) 생활 속 객체 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문 아침에 회사에 가는 길에 카페에 들려 아이스 카페라떼를 주문(주문자, 바리스타 등) 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강한 과목들의 성적을 확인(학생, 교수 등) 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예로 들면 절차 지향 프로그래밍 시간이나 사건의 흐름에 따른 프로그래밍 일어난다 -> 씻는다 -> 식사를 한다 -> 버스를 탄다 -> 요금 지불 -> 학교 도착 객체 지향 프로그래밍 실제 세계를 모델링하여 프로그래밍 ..

[Java / 프로그래머스] 음양 더하기
음양 더하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return하도록 solution 함수를 완성해주세요. 제한 조건 absolutes의 길이는 1이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. sings[i]가 참이면 absolu..

[Java / 프로그래머스] 문자열을 정수로 바꾸기
문자열을 정수로 바꾸기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+,-)가 올 수 있습니다. s는 부호와 숫자로만 이루어져 있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 풀이 class S..

[Java / 프로그래머스] 가운데 글자 가져오기
가운데 글자 가져오기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 조건 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 풀이 substring 메소드를 활용하면 되는데 잠깐 알아보면 method substring 함수는 두 가지가 있는데 인자값을 하나만 받는 것과 두 개를 받는 것으로 나뉜다. String substring(int ..

[Java / 프로그래머스] 짝수와 홀수
짝수와 홀수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 풀이 class Solution { public String solution(int num) { String answer = ""; if (num % 2 ==0){ answer = "Even"; } else{ answer = "Odd";..

[Java / 프로그래머스] 직사각형 별찍기
직사각형 별찍기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*)문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 풀이 import java.util.Scanner; class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System...

JVM, JDK
JVM(Java Virtual Machine, 자바 가상 머신) JVM은 OS에 종속적 해당 OS에서 실행가능한 JVM 필요 Java 어플리케이션은 JVM하고만 상호작용 OS와 하드웨어에 독립적 실행 시 해석(interpret)되기 때문에 속도가 느리다는 단점을 갖는다 요즘은 JIT 컴파일러와 향상된 최적화 기술이 적용되어 속도의 격차를 많이 줄임 JIT 컴파일러는 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환(Just In Time) JDK(Java Development Kit, 자바 개발 도구) JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함한다. JRE(Java Runtime Environment, 자바 실행환경) JRE는 JVM이 자바 프로그램을 동작..
자바(Java)란?
자바(Java)란? 썬 마이크로시스템즈에서 개발해 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어. 지금은 오라클사의 제품(2010년 썬이 오라클에 인수되었음) 운영체제에 독립적 운영체제에 따라 프로그램을 전혀 변경하지 않아도 실행 가능 인터넷 환경에 적합한 언어로써 많은 사용자층 확보 비교적 배우기 쉽고 이해하기 쉬운 간결한 표현 가능 객체지향개념 기존의 다른 프로그래밍 언어의 장점을 채택, 사용되지 않는 부분 제외 풍부한 클래스 라이브러리(Java API) 꾸준한 자바의 성능 개선을 통해 새로운 버전 발표 모바일, XML 등 다양한 최신 기술 지원 활동 영역 확대 자바의 역사 1991년 제임스 고슬링 등 썬의 엔지니어들에 의해 고안된 오크(Oak) 언어에서 시작 C++ 장점을 도입하고 단..