본문 바로가기

Java

[Java] A has B 객체간의 관계에는has와 is가 있습니다.has에 대해 먼저 알아볼까합니다.A has B는 A가 B를 가지고 있다라는 뜻입니다.B has A는 B가 A를 가지고 있다는 뜻이죠.객체도 객체를 소유할 수 있는데요.예를들어 candy라는 클래스가 있고company라는 클래스가 있을 때사탕에대한 정보를 가지고 있는 회사 클래스를 만들 수 있고회사에 대한 정보를 가지고 있는 사탕 클래스를 만들수도 있습니다.개발자가 정하기 나름입니다. 이해하기 쉽도록 구현 방법을 알아볼까요? 식당 클래스가 있고 해당 클래스에는식당 이름, 식당 주인 이름, 식당 위치, 식당 전화번호 정보가 있습니다.그리고 사람 클래스에는 식당 주인에 대한 이름, 성별 , 전화번호가 있습니다.식당클래스에서 식당 주인에 대한 정보를사람클래스에서 받아오.. 더보기
[Java] 생성자 생성자(Constructor)객체가 만들어질때 사전 작업이 하나 필요한데바로 생성자를 만드는 작업입니다.생성자는 리턴이 아예 없고, 메소드명이 클래스명과 같은 메소드입니다. 생성자를 만들지 않으면 자바 컴파일러가 기본 생성자를만들어버립니다.반대로 기본 생성자를 건드리면 자바 컴파일러가 기본 생성자를안만들어줍니다.시스템이 자동으로 객체를 만들때가 있는데이때는 기본 생성자를 사용합니다.흔히 객체를 생성할 때shoes s = new shoes();이렇게 생성하는데이떄 new shoes(); 부분이 기본 생성자를 뜻합니다.생성자를 오버로딩 하는 것도 가능합니다.오버로딩된 생성자는 단축키를 설정해서 사용할 수 있는데저 같은 경우는  the selected type contains no field which may.. 더보기
[Java] Static / Final static 멤버 변수는 주로 객체들의 공통속성을 담아낼 때 사용합니다.이는 객체가 없어도 쓸수 있는 정보로클래스명.xxx로 사용가능합니다.객체를 여러개 찍어내도 static멤버변수는 하나만 사용하면 됩니다.따라서 메모리를 절약할 수 있게 됩니다.static영역의 데이터는 프로그램의 시작부터종료가 될 때까지 메모리에 남아있게 됩니다.그렇기 때문에 무분별하게 static을 많이 사용하다보면메모리가 역으로 부족해질 수 있습니다. 예제를 통해 알아보겠습니다.public class Snack { String name; double weight; int price; public void printSnack() { System.out.println("이름 : " + name); System.out.println(".. 더보기
[Java] JavaDoc JavaDoc이란 제품 설명서와 같은 의미인데요.가전 제품을 살 때 안에 있는 설명서라고 생각하면 됩니다.우리가 만든 프로그램을 보기 쉽게 HTML형식,WEB형식으로 만들어서 문서화 시킨것을 의미합니다.JavaDoc은 만들 때 주석을 달게 됩니다.주석은 /**   내용   */ 이런식으로별 2개짜리 주석을 달게 됩니다.주석은 2개의 영역으로 나뉘는데먼저 설명문이 있습니다.설명문은 주석의 시작에서 첫번째 태그 섹션까지의 부분을 의미합니다.HTML로 설명되기 때문에 단순히 주석 작성 당시에 엔터를 쳐서 줄을 바꿔서입력했더라도 그대로 이어져서 출력하게 됩니다.줄바꿈 처리를 하고 싶다면 를 작성하면 됩니다.두번째는 태그 섹션입니다.첫번째 문자가 @로 시작하고 아래와 같은 형식인데- @author : 이 프로그램.. 더보기
[Java] Jar 파일 클라이언트가 어떤 기능을 만들어서그 기능을 구현했다고 가정합시다.이 기능을 클라이언트에게 어떻게 건네주면 좋을까요? 결론부터 말하자면 .jar파일로 건네줘야 합니다.Jar는 (Java Archaive)의 줄임말로소스 코드를 기계어 상태로 바꿔서 압축을 해놓은 형태입니다.보통 한국어로 개발한 것은 .java파일로 저장하고.java파일로 compile하면 기계어나 바이트코드로 이루어진 class파일을자동으로 생성하고 실행될때는 .class형태로 JVM에서 가동되는 형태입니다..java파일을 .jar파일로 넘겨주지 않고소스 코드를 그대로 넘겨주게 되면클라이언트가 해당 코드를 배포하고특허를 낼 가능성이 있고기계어로 프로그램을 돌리게 되면 실행이 빠릅니다.따라서 속도와 보안상의 이유로.java파일을 컴퓨터만 알 .. 더보기
[Java] 배열의 유사도 Q. 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.  for each문을 써서 각 배열의 요소를 비교하면 될 것 같습니다.class Solution {    public int solution(String[] s1, String[] s2) {        int answer = 0;        for(String s : s1){            for(String d : s2){                if(s.equals(d))answer++;            }        }        return answer;    }} 이중 for문을 쓰면 모든 배열의 요소에접근할 수.. 더보기