<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Record arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/record/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/record/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Sat, 19 Apr 2025 09:46:16 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.kesifruhu.com/wp-content/uploads/2024/09/siteico-150x150.png</url>
	<title>Record arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/record/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>12.Enum ve Struct Benzeri Kullanımlar</title>
		<link>https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/</link>
					<comments>https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 09:21:00 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[DTO]]></category>
		<category><![CDATA[Enum]]></category>
		<category><![CDATA[Record]]></category>
		<category><![CDATA[Struct]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=487</guid>

					<description><![CDATA[<p>12. Enum ve Struct Benzeri Kullanımlar Java programlama dilinde, enum (enumeration) ve struct benzeri yapılar, belirli bir grup sabiti temsil etmek veya basit veri yapıları <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/" title="12.Enum ve Struct Benzeri Kullanımlar">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/">12.Enum ve Struct Benzeri Kullanımlar</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/17324301/pexels-photo-17324301.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">12. Enum ve Struct Benzeri Kullanımlar</h1>



<p>Java programlama dilinde, <code>enum</code> (enumeration) ve <code>struct</code> benzeri yapılar, belirli bir grup sabiti temsil etmek veya basit veri yapıları oluşturmak için kullanılır. Bu yapılar, kodun okunabilirliğini ve güvenliğini artırırken, veri yönetimini de kolaylaştırır. Bu yazıda, Java&#8217;daki <code>enum</code> yapısını detaylı bir şekilde inceleyecek ve <code>struct</code> benzeri kullanım senaryolarına değineceğiz.</p>



<h2 class="wp-block-heading">Enum (Numaralandırma) Nedir?</h2>



<p><code>Enum</code>, belirli bir sayıda önceden tanımlanmış sabiti temsil eden bir veri tipidir. Örneğin, bir haftanın günlerini, bir trafik ışığının renklerini veya bir ürünün kategorilerini <code>enum</code> kullanarak tanımlayabiliriz. <code>Enum</code>&#8216;lar, tip güvenliği sağlar ve kodun daha okunabilir olmasını sağlar.</p>



<h3 class="wp-block-heading">Enum Tanımlama ve Kullanımı</h3>



<p>Java&#8217;da bir <code>enum</code> şu şekilde tanımlanır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
enum Gun {
    PAZARTESI, SALI, CARSAMBA, PERSEMBE, CUMA, CUMARTESI, PAZAR
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">enum</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    PAZARTESI, SALI, CARSAMBA, PERSEMBE, CUMA, CUMARTESI, PAZAR</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu <code>enum</code>, haftanın günlerini temsil eder. <code>Enum</code> sabitlerine erişmek için, <code>EnumAdı.SABIT_ADI</code> şeklinde bir sözdizimi kullanılır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
Gun bugun = Gun.SALI;
System.out.println(&quot;Bugün: &quot; + bugun);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bugun</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">SALI</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bugün: &quot;</span><span style="color: #D4D4D4"> + bugun);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Enum&#8217;lara Özellik ve Metot Ekleme</h3>



<p><code>Enum</code>&#8216;lar sadece sabitlerden ibaret değildir. Her bir <code>enum</code> sabiti için özellikler tanımlayabilir ve metotlar ekleyebiliriz. Bu, <code>enum</code>&#8216;ları daha güçlü ve esnek hale getirir.</p>



<p>Örneğin, her bir güne karşılık gelen bir sayısal değer (haftanın kaçıncı günü olduğu) ekleyebiliriz:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
enum Gun {
    PAZARTESI(1), SALI(2), CARSAMBA(3), PERSEMBE(4), CUMA(5), CUMARTESI(6), PAZAR(7);

    private final int gunSirasi;

    Gun(int gunSirasi) {
        this.gunSirasi = gunSirasi;
    }

    public int getGunSirasi() {
        return gunSirasi;
    }
}

System.out.println(&quot;Salı gününün sırası: &quot; + Gun.SALI.getGunSirasi());
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">enum</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    PAZARTESI(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">), SALI(</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">), CARSAMBA(</span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">), PERSEMBE(</span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">), CUMA(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">), CUMARTESI(</span><span style="color: #B5CEA8">6</span><span style="color: #D4D4D4">), PAZAR(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">final</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #DCDCAA">Gun</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4"> = gunSirasi;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getGunSirasi</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> gunSirasi;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Salı gününün sırası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">SALI</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getGunSirasi</span><span style="color: #D4D4D4">());</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Enum&#8217;ları Switch Deyimleri ile Kullanma</h3>



<p><code>Enum</code>&#8216;lar, <code>switch</code> deyimlerinde sıklıkla kullanılır. Bu, belirli bir <code>enum</code> değerine göre farklı işlemler yapmayı kolaylaştırır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
Gun bugun = Gun.CARSAMBA;

switch (bugun) {
    case PAZARTESI:
        System.out.println(&quot;Haftanın ilk günü.&quot;);
        break;
    case SALI:
    case CARSAMBA:
    case PERSEMBE:
    case CUMA:
        System.out.println(&quot;Hafta içi.&quot;);
        break;
    case CUMARTESI:
    case PAZAR:
        System.out.println(&quot;Hafta sonu.&quot;);
        break;
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bugun</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">CARSAMBA</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (bugun) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PAZARTESI</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Haftanın ilk günü.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> SALI</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CARSAMBA</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PERSEMBE</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CUMA</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hafta içi.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CUMARTESI</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PAZAR</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hafta sonu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Struct Benzeri Kullanımlar</h2>



<p>Java&#8217;da doğrudan <code>struct</code> veri tipi bulunmamasına rağmen, <code>class</code> yapısı ile <code>struct</code> benzeri yapılar oluşturulabilir. <code>Struct</code>&#8216;lar genellikle basit veri gruplarını temsil etmek için kullanılır. Java&#8217;da bu işlevselliği sağlamak için genellikle veri taşıma amaçlı (Data Transfer Object &#8211; DTO) sınıflar kullanılır.</p>



<h3 class="wp-block-heading">DTO (Data Transfer Object) Sınıfları</h3>



<p>DTO sınıfları, verileri farklı katmanlar arasında taşımak için kullanılır. Bu sınıflar genellikle sadece veri alanlarına sahiptir ve iş mantığı içermezler. Bu sayede, veri transferi sırasında performans optimizasyonu sağlanır ve kodun okunabilirliği artırılır.</p>



<p>Örneğin, bir öğrenci bilgilerini temsil eden bir DTO sınıfı şu şekilde tanımlanabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
public class Ogrenci {
    private String ad;
    private String soyad;
    private int yas;

    public Ogrenci(String ad, String soyad, int yas) {
        this.ad = ad;
        this.soyad = soyad;
        this.yas = yas;
    }

    public String getAd() {
        return ad;
    }

    public String getSoyad() {
        return soyad;
    }

    public int getYas() {
        return yas;
    }

    @Override
    public String toString() {
        return &quot;Ogrenci{&quot; +
                &quot;ad='&quot; + ad + '\'' +
                &quot;, soyad='&quot; + soyad + '\'' +
                &quot;, yas=&quot; + yas +
                '}';
    }
}

Ogrenci ogrenci = new Ogrenci(&quot;Ali&quot;, &quot;Yılmaz&quot;, 20);
System.out.println(ogrenci);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4"> = ad;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4"> = soyad;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4"> = yas;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getAd</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> ad;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getSoyad</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> soyad;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getYas</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> yas;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    @</span><span style="color: #4EC9B0">Override</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">toString</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">&quot;Ogrenci{&quot;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;ad=&#39;&quot;</span><span style="color: #D4D4D4"> + ad + </span><span style="color: #CE9178">&#39;</span><span style="color: #D7BA7D">\&#39;</span><span style="color: #CE9178">&#39;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;, soyad=&#39;&quot;</span><span style="color: #D4D4D4"> + soyad + </span><span style="color: #CE9178">&#39;</span><span style="color: #D7BA7D">\&#39;</span><span style="color: #CE9178">&#39;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;, yas=&quot;</span><span style="color: #D4D4D4"> + yas +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&#39;}&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ogrenci</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ali&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Yılmaz&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(ogrenci);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Record Sınıfları (Java 14+)</h3>



<p>Java 14 ile birlikte gelen <code>record</code> sınıfları, DTO sınıflarına benzer bir şekilde, veri taşımak için kullanılır. <code>Record</code> sınıfları, daha kısa ve okunabilir bir sözdizimi sunar. <code>Record</code> sınıfları, otomatik olarak <code>equals()</code>, <code>hashCode()</code> ve <code>toString()</code> metotlarını oluşturur.</p>



<p>Öğrenci bilgilerini temsil eden bir <code>record</code> sınıfı şu şekilde tanımlanabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
public record Ogrenci(String ad, String soyad, int yas) {
}

Ogrenci ogrenci = new Ogrenci(&quot;Ayşe&quot;, &quot;Demir&quot;, 22);
System.out.println(ogrenci);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">record</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> ad, </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> soyad, </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> yas) {</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ogrenci</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Demir&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">22</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(ogrenci);</span></span>
<span class="line"></span></code></pre></div>



<p><code>Record</code> sınıfları, veri odaklı uygulamalarda kodun kısalmasını ve okunabilirliğini önemli ölçüde artırır.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Java&#8217;da <code>enum</code> ve <code>struct</code> benzeri yapılar, kodun okunabilirliğini, güvenliğini ve performansını artırmak için kullanılır. <code>Enum</code>&#8216;lar, belirli bir grup sabiti temsil etmek için idealdir. DTO ve <code>record</code> sınıfları ise, basit veri yapılarını tanımlamak ve veri transferi yapmak için kullanılır. Bu yapıları doğru bir şekilde kullanarak, daha sağlam ve bakımı kolay uygulamalar geliştirebilirsiniz.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java Enum Example"/></figure>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java Record Class"/></figure>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Data Transfer Object Diagram"/></figure>



<p><br><br></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Java&#8217;da enum ve struct benzeri yapılar, modern yazılım geliştirme prensiplerine uygun, okunabilir ve bakımı kolay kod yazmanıza yardımcı olur.&#8221; &#8211; Bir Java Uzmanı</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/">12.Enum ve Struct Benzeri Kullanımlar</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
