일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- 지혜를가진흑곰
- 책을알려주는남자
- C++
- algorithmStudy
- 서평
- algorithmtraining
- 알고리즘공부
- 성분
- 자바
- 투자
- 독후감
- 경제
- 화장품
- algorithmTest
- Java
- 프로그래머스 알고리즘 공부
- 백준알고리즘
- 다독
- 채권
- 책알남
- 재테크
- 돈
- 프로그래밍언어
- 독서
- 주식
- JavaScript
- C
- 알고리즘트레이닝
- 알고리즘 공부
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/java (43)
탁월함은 어떻게 나오는가?
프로젝트 생성 방법 및 Hello Wolrd 출력 방법 1) 인텔리제이(intellij)를 설치 후 실행을 하면 아래처럼 시작된다. [New Project]를 클릭하면 새로운 프로젝트 생성, [Open or Import]를 클릭하면 기존의 프로젝트를 열 수 있다. 1-1) 만약에 기존에 사용하고 있는경우 밑에처럼 [File] >[New] > [Project] 로 생성할 수 있다. 2) [Java] 선택 후 > Project SDK의 자버 버전을 확인 후 Next 3) 바로 Next 클릭 4) [Project name]과 [Project location]을 입력해야한다. location에 원하는 위치를 설정은 [...]버튼을 클릭해서 설정 후 뒤에 [\ 또는 | (backsopace 밑에)] 를 누르고 프..
JAVA에서 String 객체를 생성하는 방법은 2가지가 존재한다. 첫번째는 String literal이다. 큰따옴표("")를 사용해서 선언하는것이고, 두번째는 new 연산자로 객체를 생성하는 것이다. 두가지 방법은 어떤 차이가 존재할까? 간단한 테스트를 해보았다. 위의 결과를 비교하면 모든 str에는 동일하게 "testStr"이라는 스트링값이 존재하고 있다. 하지만, str과 str2는 주소값이 동일하고, str3와 str4는 주소가 다른것을 확인 할 수 있다. 그렇다는것은 String literal로 생성한 객체는 내용이 같다면 같은 객체이며, 동일한 메모리 주소를 가리키고 있다는 것이다. 그러나 new 연산자로 생성한 String 객체는 내용이 같더라도 메모리 주소가 다르므로 다른 객체임을 알 수 ..
자바에서 일반적인 데이터 타입의 비교는 == 연산자를 사용한다. 그리고 String 문자열의 값을 비교할때에는 equals()라는 메소드를 사용하여 비교를 하게 된다. equals와 == 두가지 모두 비교하는건데 어떠한 차이점이 있을까?? 결론부터 이야기하자면, == 는 객체의 값(주소)을 비교하는것이다. equals()는 문자열을 비교하는 것이다. == 연산자는 객체를 비교하는 연산자인데 두 변수는 서로 다른 객체이기 때문에, false를 반환한다. 객체가 다른 객체이므로 부여된 주소가 다르기떄문이다. 위에 사진처럼 주소가 다르기때문에 결과값이 false를 반환한다. 따라서 문자열 자체를 비교하고 싶을때는, == 대신 String 클래스의 equals()를 이용해서 비교해야 한다. equals()는 객..
프로세스(process)란? 프로세스란 현재 실행 중인 프로그램(program)이다. 즉, 사용자가 작성한 프로그램이 운영체제의 의해 메모리 공간을 할당받아 실행 중인것을 말한다. 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다. 스레드(thread)란? 쓰레드란 프로세스 내에서 실제로 작업을 수행하는 주체를 의미한다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 한다. 멀티스레드의 장점 - cpu의 사용률을 향상 - 자원을 보다 효율적으로 사용할 수 있다 - 사용자에 대한 응답성이 향상 - 작업이 분리되어 코드가 간결해진다 다만, 멀..
java 언어의 특징 1.이식성이 높은 언어 - java 언어로 개발된 프로그램은 소스 파일을 다시 수정하지 않아도, 자바 실행환경(JRE: Java Runtime Environment)이 설치되어 있는 모든 운영체제에서 실행 가능합니다. 따라서 자바 언어는 이식성이 높은 프로그래밍 언어라 할 수 있다. 2.객체 지향 프로그래밍(OOP) - 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법이다.객체를 만들기 위해 설계도인 클래스를 작성해야 하고, 객체와 객체를 연결해 목적에 맞는 프로그램을 만들어 낸다. 자바는 아무리 작은 프로그램이라도 객체를 만들어 사용하게 된다. 객체지향 언어가 가져야 할 대표적인 특징에는 캡슐화(은닉..
POJO POJO(Plain Old Java Object)는 말 그대로 해석을 하면 오래된 방식의 자바에서 제공한 오브젝트를 의미한다. 실제로 Java EE 등의 중량 프레임 워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운"객체를 만들게 됬기에 생긴 단어이다. 이후에 POJO라는 용어는 주로 특정 자바 모델이나 기능, 프레임워크 등을 따르지 않은 자바 오브젝트를 지칭하는 말로 사용되었다. 스프링 프레임워크는 POJO 방식의 프레임 워크이다. 하지만, 위의 경우에만 POJO 라고 하는 경우가 많지만 좀더 꼼꼼하게 이야기를하자면 2가지가 더해져야한다. 첫째. 객체지향적인 설계원칙에 충실하도록 개발되어 있는지 여부이다. POJO의 자바 오브젝트라는 것은 단지 자바 언어 문법을 지켜 만들었다는 뜻이 ..
자바에서 사용하는 area개념과 field의 개념을 다루기 전에 일단 위의 사진의 축구경기장을 볼 필요가 있다. 사실상 area와 field는 같은 축구장의 필드이다. 하지만 하나의 필드안에 field와 area를 나눠놨을까? 그것은 기능의 차이이다. 축구경기장의 field에서는 공이 아무리 왔다갔다 패스를 죽어라 해도 점수가 오르지는 않는다. 하지만 area존으로 들어간다면 점수가 변할 수 있기 때문이다. 그런것과 마찬가지로 자바에서도 이런 개념을 사용한다. 즉. 같은 field이지만, area에서는 실질적인 변화가 일어난다는 것이다. 그것과 마찬가지로 자바(software object)에서도 Methods(behavior) = area 부분에서 실질적인 동작을 하며 노출이 된다. 메서드는 개체의 내부..
클래스란 '객체를정의해놓은 것.' 또는 클래스는 '객체의 설계도 또는 틀' 이라고 대부분이 정의를 한다. 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 - 클래스란 객체를 정의해 놓은것. 그렇다면 클래스란 무엇인가? 정확하게는 디스크에 저장된 객체를 의미한다. 기본적으로 언어는 이진분류(binary classification)이며 요소(property)로 이루어져있기 때문에 디스크 또는 메모리를 사용하기 때문이다. 클래스의 용도 - 클래스는 객체를 생성하는데 사용 1 2 3 4 5 public class 클래스이름 { public static void main(String[] args){ //프로그램 시작 시점 } } Colored by Color Script..