앞서 if문에서 약간 연산자 부분을 설명드렸는데, 확실히 이걸 짚고 넘어가시는게 좋으실 것 같아서, 그리고 모르면 절대로 코딩을 할 수 없는 부분이라 설명을 드리려고 포스팅을 하게 됬습니다. 

계산을 할때 쓰는 문자로써, 꼭 비교때 들어가야 하는 문자입니다. 
표로 바로 설명드릴게요.

비교 연산자


비교 연산자 설명
x < y x가 y보다 작다
x > y x가 y보다 크다
x == y x와 y가 같다
x != y x와 y와 같지 않다
x >= y x가 y보다 크거나 같다
x <= y x가 y보다 작거나 같다

자 필수로 외워주셔야 하는 부분입니다. 예시를 통해서 연산자들에 대해 조금더 심층적으로 배워볼게요.

int x = 1;
int y = 2;
System.out.println(x < y);

x에다가 1이라는 int형을 대입을 한다음 sysout 부분에 x < y 라는 조건문을 출력하니 당연히 답은 true가 나옵니다.
왜냐하면 당연히 x가 y보다 작기때문에 크다에 true가 출력되는 것 입니다.

System.out.println(x > y);

위의 조건문은 당연히 x가 y보다 작기 때문에 false라는 값이 출력되어집니다.

System.out.println(x != y);

자 이부분은 x와 y와 같지 않다라는 조건문이죠? 당연히 true 참입니다. 

이렇게 자꾸 작은 구문이라도 코딩해서 직접 사용해보시면 학습에 훨씬 효과가 클것으로 생각됩니다.
이어서, 조건 판단 연산자에 대해서 알아볼게요.

 and(&&), or(||), not(!)


조건 판단에 쓰이는 연산자가 있습니다. 바로 and, or, not 연산자 인데요.
이 연산자들은 밑에 설명처럼 사용되어 집니다.

 x && y x와 y 모든 값이 참이어야 함이다.
x  | |  y  x와 y둘 중 적어도 한개의 값이 참이면 참이다.
!x =  x가 거짓이면 참이다. (반대의 개념으로 생각하시면 편합니다.)

자 그렇다면 위 연산자들은 if문의 예제로 예시를 알아보도록 할게요!

public class JataJava {

    public static void main(String[] args) {
       
         int money = 4000;
         boolean cashCard = true;
         if (money >= 5000 || cashCard) {
             System.out.println("음식을 사먹어 보자!");
         } else {
             System.out.println("돈이 없으니 그냥 집에가자..");
    
    } 
}

int money = 4000; 부분은 if 부분에서 명제를 만족시키지 못하지만, if (money >= 5000 || cashCard)  부분에서 cashCard가 가지고 있는 연산자가 | | 연산자라 즉 둘 중 하나라도 참이면 참인 명제가 만족이 되는 것 입니다.

이로써 필수로 쓰이는 연산자에 대해 알아보았는데요, 저 나름대로는 최대한 설명을 한다고 했는데, 이해가 안가시는 분들이나 어려우신 분들은 늘 그렇듯! 댓글을 남겨주시면 이해가 되실때까지 답변 달아드리도록 하겠습니다.

Posted by 자타공인
,

이제 문법에 대해서 여럿 포스팅을 해보려고 합니다. 시작은 if문으로 시작해보겠습니다.
if문의 가장 쉽고 원초적이고 접근하기 쉬운 방법은 "가정(假定)을 해보자" 입니다.

ㅡ 돈이 있으면 음식을 사먹고 그렇지 않으면, 집에 간다. ㅡ

로 가정을 한번 해본다고 치면, 우리는 늘상 살아가면서 선택에 기로에 놓이게 됩니다. 프로그램도 마찬가지로, 선택을 해야하는 경우가 잦은데요, 선택은 상황에 알맞게 해야합니다. 이러하듯, 상황에 놓이게 되었을때, 어떠한 상황을 올바르게 상황에 맞게 선택을 해주는 것에 대해 쓰이는게 바로 if문입니다.

우리는 이것을 코딩화 시켜보겠습니다.


public class JataJava {

    public static void main(String[] args) {
       
         boolean money = true;
         if (money) {
             System.out.println("음식을 사먹어 보자!");
         } else {
             System.out.println("돈이 없으니 그냥 집에가자..");
    
    }
    
}

이게 가장 원초적이고 기본적인 예시 입니다!

이번엔 저 구문을 뜯어서 하나하나 설명드려볼게요.

public class JataJava {

    public static void main(String[] args) {  // 기본이라 설명 안드릴게요.
       
         boolean money = true; // 이 부분에서 조건문은 money가 되고 true이기 때문에 if부분을 수행.
         if (money) {  // 윗 부분에서 true라고 하였기 때문에 1번 if문 실행.
             System.out.println("음식을 사먹어 보자!"); // 1번
         } else {
             System.out.println("돈이 없으니 그냥 집에가자.."); // 2번

눈치가 빠르신분들은 알아차리셨겠죠? boolean money = true; 부분에서 false로 변경을 하면 else 부분으로 넘어 가게 됩니다.

그렇습니다. if (조건문) 는 참과 거짓을 판단하는 구문을 말합니다.

참이면 if 거짓이면 else로 if문에 내용을 실행하지않고 곧바로 다음 구문인 else로 넘어가게됩니다.
그렇다면 사용하기 쉽게 if문의 가장 기본적인 구조를 양식으로 보여드릴게요.

     if (조건문) {
        <수행할 구문1>
        <수행할 구문2>
        <수행할 구문3>
        ...
     } else {
        <수행할 구문 I>
        <수행할 구문 II>
        <수행할 구문 III>
        ...
     }

가장 기본형식인 이러한 구조들로 진행이 됩니다. 

그렇다면 비교 연산자를 넣어서 조금 응용을 해보도록 하겠습니다.

"돈이 5000원 이상이 있거나 혹은 현금카드(cashCard)가 있다면 음식을 사먹고 그렇지 않으면 그냥 집에 가라."

public class JataJava {

    public static void main(String[] args) {
       
         int money = 4000;
         boolean cashCard = true;
         if (money >= 5000 || cashCard) {
             System.out.println("음식을 사먹어 보자!");
         } else {
             System.out.println("돈이 없으니 그냥 집에가자..");
    
    }
    
}

자 이 부분은 연산자 부분을 알고 계신분들은 조금 이해가 쉬우시겠죠? 모르는 분들을 위해 연산자 포스팅을 따로 해두록하겠습니다. (포스팅을 하고 이 부분은 링크를 달아서 수정해드리도록 하겠습니다.)

money = 4000; 즉 돈은 4천원으로 5천원짜리 음식을 구매하기엔 부적합하지만, 현금카드가 있으니 이 구문은 참이 되어 if 부분의 결과가 도출되는 것 입니다. 

연산자를 잠깐 설명드리자면, 연산자는 조건판단을 하는 경우에 사용을 합니다. 
위에서 나온 || 부분은 엑셀을 배웠던 분들은 이해하시기 쉬울거에요. and입니다. 

ex) x || y = x나 y의 둘중 하나만 참이어도 참이다.

이해가 조금 되셨나요? 구문 첫 입성이라서 깊게 파진 않았습니다. 점점 난이도를 높혀서 구문 설명 해드리겠습니다.

늘 그렇듯, 궁금하신 부분이 있으면 얼마든지 댓글에서 여쭤보셔도 됩니다.

Posted by 자타공인
,

public static void main(String[] args) 이 구문을 우리는 매번 마주합니다. 하지만 static을 어떤경우에 쓰는지 모르는 분이 계셔서 요청으로 게시하게 되었습니다.

static 변수


변수나 메소드를 사용할때는 객체를 생성하여야 합니다.  하지만 어떠한 키워드 하나로 인해 매번 써야할 것을 안써도 된다면? 무척이나 편리해지고 시간적으로도 이득을 많이 볼 수 있습니다.
그렇게해서 나온게 static 입니다.

왜 static을 쓰느냐?


답은 간단합니다. 위에서 말씀드렸다싶이, static을 쓰면 객체를 생성하지 않고 변수, 메소드를 사용 할수 있을 뿐더러, 객체를 생성하지 않아도 되니깐 당연히 편리하고 속도도 빠릅니다.
하지만 막쓰면 메모리 낭비가 나겠죠? 설명드리겠습니다.

클래스를 생성할때, (멤버)변수 중 모든 인스턴스에 동일하게 사용해야하는 것에 대하여 static을 붙힌다.
- 인스턴스를 생성을 하면, 각각의 인스턴스들은 서로 다른값을 가지고 유지를 합니다. 상황에 따라, 인스턴스들이 같은 값을 유지하게 하여야하는 경우 static으로 공통 값으로 덮어줍니다.

static이 붙은 (멤버)변수는 인스턴스를 생성하지 않아도 당연히 사용할 수 있다.
- static이 붙은 멤버변수,클래스변수는 클래스가 console 메모리에 올라갈때 자동적으로 같은 값에 덮어지기 때문입니다.

어떠한 상황에 static을 쓰는게 옳을까?
- 우선 멤버변수에 모든 인스턴스에 같은 값을 유지해야하는 부분이 맞는지 확인하고, 그것이 맞다면 static을 넣어줍니다.
- 작업중인 메소드에 인스턴스를 사용하지 않는 메소드에 대해서는 static을 붙일지 말지 판단을 해야합니다.

메소드 내에서 인스턴스 사용하지 않는다면, static을 붙히는 거에 대해 고민해보자.
 - 메서드의 작업내용중에서 인스턴스 변수를 필요로 한다면, static을 붙일 수 없습니다. 반대로 인스턴스변수를 필요로 하지 않는다면, 가능하면 static을 붙이는 것이 좋습니다. 메서드 호출시간이 짧아지기 때문에 효율이 높아닙니다.

 

class Card {
    String Shape; // 카드의 모양 - 인스턴스(변수)
    int number; // 카드의 숫자 - 인스턴스(변수)
    static int width = 150; // 카드의 넓이 - 클래스 변수(static 변수랑 같음)
    static int height = 250; // 카드의 높이 - 클래스 변수(static 변수랑 같음)
    
}

각 Card인스턴스(변수)는 자신만의 모양(Shape)와 숫자(number)를 유지하고 있어야 하므로 이들을 인스턴스(변수)로  선언하였고, 각 카드들의 넓이(width)과 높이(height)는 모든 인스턴스(변수)가 공통적으로 같은 값을 유지해야하므로 클래스변수로 선언하였습니다. 


만일 카드의 폭을 변경해야할 필요가 있을 때는 모든 카드의 width값을 변경하지 않고, 한 카드의 width값만 변경해도 모든 카드의 width값이 변경되는 셈이 됩니다.

늘 그렇다싶이 궁금한 부분은 댓글 달아주시면 친절히 설명드리도록 하겠습니다!

 

참조 : 자바의 정석

Posted by 자타공인
,

안녕하세요? 오늘은 자바(Java) public,private,protected,default 접근 제어자 차이점에 대해서 학습해볼게요!

우선 카테고리와 동일하게 환경은 Eclipse 입니다. (버젼은 중요하지 않습니다!)

자바(Java)에는 변수,함수,클래스에 대한 상속 접근을 제한 즉 접근을 못하게 해주는 문법이 있어요.
접근제한을 하는 이유는 생성을 위해서 만들어진 고유의 객체 멤버의 변수 값들이 필요하지 않은데 고의든 아니든 외부로부터 잘못된 접근 그리고 변경을 보호하기 위해서입니다. 실행도가 많이 나가버리기 이전에 메소드들의 성격을 정리하고 막음으로써 원하지 않은 상속, 실수를 줄이기 위함 입니다.
총 4가지의 접근 제어자가 있는데
제목에 있다싶이 public,private,protected,default 입니다. 하지만 실생활에서 가장 많이 사용하는 접근 제어자는 바로public 과 private 입니다.
(그렇다고 protected,default 2가지를 안쓰는 것은 아닙니다.)



접근 제어자의 허용 범위 순서는 아래와 같습니다. 

public > protected > default > private

I. public : 접근에 제한이 없음.

II. protected : 같은 패키지안에 존재하거나, 파생된 클래스만 접근 가능.

III. default : 어떠한 접근 제한을 걸지 않으면, default 값이(자동으로)되며,
              같은 패키지안에서 접근이 가능.

IV. private : 자기 자신의 클래스안에서만 접근이 가능.

이해가 안되시는 분들을 위해 표로 설명을 해드릴게요.

종류 클래스 하위 클래스 같은 패키지 모든 클래스
public O O O O
protected O O O X
default O X O X
private O X X X

 

위 같은 표는 변수 선언, 생성자, 인스턴스, 상속 등 모든 메소드의 공통적인 부분이며 적용이 됩니다!

접근 제어자들의 차이점을 이해를 못하신다면, 상속은 더더욱히 어려우실 테니 꼭 이해하시고 넘어가시길 바랍니다.

※ 궁금하신 부분은 댓글을 달아주세요!

'Eclipse(JAVA)' 카테고리의 다른 글

자바(Java) 연산자 총 집합!  (8) 2019.07.29
자바(Java) if 문 입성!  (2) 2019.07.28
자바(Java) Static 알고 넘어가자!  (0) 2019.07.27
자바(JDK) 환경변수 설정  (0) 2019.07.25
자바/이클립스 다운로드 및 설치  (17) 2019.04.17
Posted by 자타공인
,

안녕하세요! 오랜만에 포스팅을 하게 됬습니다.

앞서 이클립스 설치과정을 안내드리고 환경변수 설정법을 안알려드려서 추가로 알려드릴려고 합니다.

환경변수는 애플리케이션을 실행하거나 프로그래밍을 하려면 설치뿐만 아니라 반드시 거쳐야 하는 과정입니다.

자바 JDK  환경 변수 설정

내 컴퓨터 속성에 들어갑니다.

아래와 같은 화면이 당연히(?) 뜹니다!

내 컴퓨터 속성의 모습

고급 시스템 설정! 빨간 네모 박스를 눌러주세요! 

시스템 속성의 모습

위와 같은 화면이 뜹니다. 그리고 다시 환경 변수(N)을 눌러주세요! 

그러면 위와 같이 이렇게 뜹니다. 새로 만들기를 눌러주세요!

변수 이름 : JAVA_HOME
변수 값    : C:\Program Files\Java\jdk1.8.0_212 

변수 값 : C:\Program Files\Java\jdk1.8.0_212 

위와 같이 입력합니다.  확인을 누르시고 

 

편집을 눌러주세요! 

새로 만들기를 누르시고!

%JAVA_HOME%\bin 을 입력해주세요! (대소문자 구분 부탁드립니다!)

%JAVA_HOME%\bin 대소문자 구별해주세요!

그리고 나서 다시 새로만들기를 눌러주시고!

 

위와 같이 입력을 합니다! 그리고 마지막으로 확인을 누르시면 됩니다.

자 이제 환경변수 작업은 끝이 났습니다. 이제는 잘 적용이 되었는지 cmd 커맨드 창으로 확인을 해볼게요.

WIN(윈도우키) + R 누르시면 실행창이 뜹니다.

확인을 누르시고 아래와 같이 입력합니다.

사진이 잘 보이시지 않으면 클릭하시면 확대됩니다!

저렇게 영어로 좔좔 뜨면 완료가 된것이고 뜨지 않는다면, 다시 한번더 위에서부터 차근히 따라해주시길 바랍니다.

자 이렇게 환경변수 설정이 끝났습니다. 

모르시는 부분이나 궁금한 사항은 코멘트 남겨주시면 친절히 답변드리겠습니다! 

고생많으셨습니다!

Posted by 자타공인
,

자바/이클립스 다운로드 및 설치

 

안녕하세요? 자타입니다.  

자바 설치를 어떻게 해야할지도 모르겠고 어떻게 시작을 해야할지도

모르시는 분들을위해서 제가 아주 간단하고 쉽게 설치 방법을 알려드리겠습니다.

 

무작정 따라오세요.

 

제일 먼저 아래의 주소로 들어갑니다.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

Java SE Development Kit 8 - Downloads

Java SE Development Kit 8 Downloads Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications, applets, and components using the Java programming la

www.oracle.com

 

 

 

모든 쿠키 수락을 눌러주시고 밑으로 좀 내리시다 보면 아래와 같은 버젼이 있습니다.

 

 

Accept License Agreement 를 눌러주시고 자기 비트버젼에 맞는 파일을 눌러서 실행시켜주세요 

(참고로 저는 64Bit 입니다.)

 

실행하신 후 다음(Next) 버튼만 클릭하시면 됩니다.

※ 왠만하시면 경로는 건들지마시고 그냥 Next만 쭉쭉 눌러주세요.

 

정상 설치 확인을 위해 ' Windows키 + R ' 을 동시에 누르시면 cmd(명령프롬프트 창이 뜹니다.

 아래와 같이 입력해주세요.

 

 

위와 같이 버젼을 꼭 확인해주시고 저렇게 뜨면 설치가 잘된것입니다.

 

 

이클립스 다운로드 및 설치를 알아보겠습니다.

 

이클립스 다운로드는 아래의 주소를 통해 한번에 들어가겠습니다.

 

https://www.eclipse.org/downloads/packages/

 

 

 

역시 64Bit 선택 하시고 

 

 

깔끔하게 Download를 눌러주시면 모든준비는 끝이 납니다.

 

그리고 다운받은 경로에서 압축을 풀어주시면 아래와 같은 폴더가 !!!

 

그리고 위 폴더로 또 들어가면 아래와 같은 화면이 나옵니다!

 

그리고 eclipse 파일을 열면!

 

 

이렇게 화면이 뜨고 기다리시면 작업파일을 저장해주는 위치 창이 나옵니다.

기본 경로에 하셔도 되지만 가급적 D 드라이브 아니면 본인이 알아볼수 있는 폴더를 생성하셔서 위치경로를 잡아주셔도 좋습니다.

(저는 D드라이브에 해놓았습니다.)

 

자! 드디어 이클립스를 열어보았습니다.

 

 

저는 이클립스안의 MarketPlace(Play 스토어랑 비슷한 개념)라는 곳에서 테마를 따로 적용시킨 것 입니다. 

첫 실행시 정상은 하얀색 배경이 맞습니다...!

 

자 이렇게 해서 자바/이클립스 다운로드 및 실행이 모두 끝이났는데요.

 

앞으로 틈틈히 강좌를 좀 올려보려고 합니다.

 

감사합니다!!!

 

※ 모르는 것은 댓글을 달아주시면 친절히 설명드리겠습니다.

Posted by 자타공인
,